我正在使用react-web和react-native(混合应用程序)开发一个项目。我能够在网络上使用cross-env设置环境变量,但这似乎不适用于react-native。
含义:
npm脚本cross-env NODE_ENV=development BABEL_ENV=development_web webpack-dev-server --hot --progress --config build/webpack.config.dev.js
运行正常。
但cross-env NODE_ENV=development BABEL_ENV=development_rn && react-native run-ios
不起作用!
我为.babelrc
获得了两个不同的BABEL_ENV env设置:
{
"env": {
"development_web": {
"presets": ["react", "es2015", "stage-0"],
"plugins": [
[
"react-transform",
{
"transforms": [
{
"transform": "react-transform-hmr",
"imports": ["react"],
"locals": ["module"]
}, {
"transform": "react-transform-catch-errors",
"imports": ["react", "redbox-react"]
}
]
}
],
["import", { "style": "css", "libraryName": "antd-mobile" }],
["transform-decorators-legacy"]
]
},
"development_rn": {
"presets": ["react-native"],
"plugins": [["import", { "libraryName": "antd-mobile" }]]
},
}
}
我如何指定NODE_ENV / BABEL_ENV到development_rn
作为反应本地人?
答案 0 :(得分:1)
在这两个脚本中,您不仅仅使用case 1:
替换要运行的命令(及其选项),case '0':
,而是使用{{1}更改它以运行两个不同的命令}。 webpack-dev-server
仅将环境变量应用于immediate命令,在您的情况下,它根本不执行任何操作,因为除了环境变量之外没有其他命令(另请参阅cross-env
- Gotchas)。
react-native
脚本应为:
&&