2017-01-02 70 views
9

我一直在打这个错误:“进口”和“出口”只能与“模块sourceType的”出现。它最近发生了几次,现在我无法摆脱它。我使用MobX在我的阵营本地的项目,所以我需要在我.babelrc所以我有装饰的东西支持:语法错误:(1:0)

{ 
    "presets": ["react-native"], 
    "plugins": ["transform-decorators-legacy"] 
} 

我已经尝试了一些差异的变化,但所有给我下面的错误。如果我删除它,由于装饰器不被支持,我得到一个错误。

SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0) 
    at Parser.pp$5.raise (/path-to/node_modules/babylon/lib/index.js:4246:13) 
    at Parser.pp$1.parseStatement (/path-to/node_modules/babylon/lib/index.js:1749:16) 
    at Parser.pp$1.parseBlockBody (/path-to/node_modules/babylon/lib/index.js:2133:21) 
    at Parser.pp$1.parseTopLevel (/path-to/node_modules/babylon/lib/index.js:1645:8) 
    at Parser.parse (/path-to/node_modules/babylon/lib/index.js:1537:17) 
    at Object.parse$1 [as parse] (/path-to/node_modules/babylon/lib/index.js:6466:37) 
    at extractDependencies (/path-to/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/extract-dependencies.js:29:23) 
    at transform (/path-to/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/index.js:53:9) 
    at module.exports (/path-to/node_modules/react-native/packager/transformer.js:130:3) 
    at transformCode (/path-to/node_modules/react-native/packager/react-packager/src/JSTransformer/worker/index.js:27:3) 
transformed 35/139 (25%)/path-to/node_modules/babylon/lib/index.js:4249 
    throw err; 

我尝试删除我的node_modules并重新安装几次。我正在使用纱线。再次运行yarn install之前还删除了锁定文件。

我按照this guide来安装Babel插件。 我package.json样子:

"dependencies": { 
    "apsl-react-native-button": "^3.0.0", 
    "mobx": "^2.5.0", 
    "mobx-react": "^3.5.5", 
    "react": "15.3.2", 
    "react-native": "0.37.0", 
    "react-native-autogrow-textinput": "^2.0.3", 
    "react-native-awesome-button": "^1.6.0", 
    "react-native-couchbase-lite": "git://github.com/adamski/react-native-couchbase-lite.git#gradle-experimental", 
    "react-native-keep-awake": "git://github.com/adamski/react-native-keep-awake.git#experimental-gradle", 
    "react-native-keyboard-aware-view": "^0.0.11", 
    "react-native-keyboard-dodging-view": "git://github.com/adamski/react-native-keyboard-dodging-view#upper-text-inputs", 
    "react-native-modalbox": "^1.3.4", 
    "react-native-navigation": "git://github.com/adamski/react-native-navigation.git#gradle-experimental-update", 
    "react-native-searchbar": "^0.4.2", 
    "react-native-simple-store": "^1.0.1", 
    "react-native-swipe-list-view": "^0.3.1" 
    }, 
    "devDependencies": { 
    "babel-plugin-transform-decorators-legacy": "^1.3.4", 
    "babel-preset-react-native": "^1.9.1" 
    } 

我试着更新到RN 0.38,但仍然得到同样的错误。

运行ag babylon产量

yarn.lock 
200: babylon "^6.11.0" 
885: babylon "^6.11.0" 
896: babylon "^6.11.0" 
911:[email protected]^6.11.0, [email protected]^6.13.0, [email protected]^6.13.1: 
913: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" 
3478: babylon "^6.13.0" 
3555: babylon "^6.13.1" 

这表明不同版本的巴比伦之间的冲突?

谁能告诉我这个错误信息实际上是什么意思?这是我的代码中的东西,还是它与我的模块之间的babel版本不匹配?

+0

哪个模块是没有得到进口? – Codesingh

+0

@Codesingh我不知道.. – Adamski

+0

从你项目的根目录运行npm uninstall – Codesingh

回答

2

我觉得这是一个软件包内,巴贝尔预设反应的母语-0级

,并在您.babelrc添加“反应母语-0级/装饰支持”到你预设阵列

+1

这就是最初有我在'。 babelrc' - 我一直在尝试很多不同的选项,但仍然遇到了这个错误。可能是重建项目的时间... – Adamski

0

我有同样的问题。最后,我的解决方案是一起删除.babelrc文件。然后,我必须安装一些预设并将它们添加为开发依赖项。

具体做法是:

babel-preset-es2015 babel-preset-react babel-preset-react-native

所有的一切都开始工作了。

相关问题