"export default const" 中出现意外的标记

20

我有两个不同的React Native项目,使用完全相同版本的库。

但其中一个最新的项目在 "export default const" 上失败了,而另一个没有。

这两个调用之间的区别是什么?

第一个项目可以正确编译,并且已经在应用商店中使用以下代码:

export default const result = [...]
第二个代码使用相同的package.json,并在相同位置出现错误"unexpected token (1:15) -> the position 15 is after the "default"。"
这是所使用的package.json文件:
{
  "name": "rn_simpleorm",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "react-native start"
  },
  "dependencies": {
    "react": "15.3.2",
    "react-native": "^0.32.0"
  },
  "jest": {
    "preset": "jest-react-native",
    "modulePathIgnorePatterns": [
      "node_modules/react-native/node_modules/"
    ]
  },
  "devDependencies": {
    "babel-jest": "^15.0.0",
    "babel-preset-react-native": "^1.9.0",
    "jest": "^15.1.1",
    "jest-react-native": "^15.0.0",
    "react-test-renderer": "^15.3.1"
  }

}
1个回答

38
你正在导出一个值。 const result = 不是值。你想要的是以下内容之一:

你正在导出一个值。 const result = 不是值。你想要的是以下内容之一:

export default [...];
或者:
const result = [...];
export default result;

4
那么为什么export default class TestClass extends React.Component {}可以工作呢? - DerpyNerd
3
这是一个类的声明,其工作方式不同。同样,export default function foo()也可以起作用。如果您尝试过export default const cls = class TestClass,它也不会起作用。 - Joe Attardi
1
好的,我只是期望 export default 在右侧被编译之前等待,这就是为什么我没有预料到以这种方式导出类会成为一个问题。 - DerpyNerd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接