2017-10-06 34 views
1

我已经使用CRNA创建了一个项目,经过一些考虑,我决定使用MobX进行状态管理。 MobX最适合于装饰器语法(大多数MobX文档是使用装饰器语法编写的),所以我想安装使用装饰器的Babel插件。将Create-React-Native-App项目配置为使用MobX并使用Babel启用修饰器

我已经成功地安装MobX(yarn add mobx mobx-react),但在安装插件通天使装饰(npm install --save-dev babel-plugin-transform-decorators并添加"transform-decorators".babelrc插件部分后,yarn start停止工作乱扔反应母语的脚本错误未找到。

我已经然后运行yarn install这一次,它抛出一个错误说

Error starting packager: TypeError: Invalid Version: undefined 
    at new SemVer (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\semver\semver.js:279:11) 
    at Function.major (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\semver\semver.js:551:10) 
    at D:\xdl\src\project\Doctor.js:634:18 
    at D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:4944:15 
    at baseForOwn (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:3001:24) 
    at D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:4913:18 
    at Function.forEach (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\lodash\lodash.js:9359:14) 
    at D:\xdl\src\project\Doctor.js:624:9 
    at Generator.throw (<anonymous>) 
    at step (D:\Projects\ReactNativePlayground\omar\MRKT\node_modules\xdl\build\project\Doctor.js:615:191) 
error Command failed with exit code 1. 

有没有人有CRNA和MobX经验?任何帮助,非常感谢!

回答

4

我解决了它。事实证明,运行npm install --save-dev babel-plugin-transform-decorators打破了一些东西。我应该运行的是yarn add --dev babel-plugin-transform-decorators-legacy并将"transform-decorators-legacy"添加到.babelrc插件部分。完成这些步骤后,我跑了yarn install,它修复了我的项目。

此外,我的编辑器(VSCode)抛出约扩展是实验性的警告,所以我增加了一个jsconfig.json文件的根文件夹,里面加了以下内容:

{ 
    "compilerOptions": { 
    "experimentalDecorators": true 
    }, 
    "exclude": [".expo/*", "node_modules/*"] 
} 
+0

是。在我的具体情况下,使用'yarn'而不是'npm'解决了我的问题。 –

相关问题