Ich arbeite an einem Projekt, das sowohl react-web als auch react-native (gemischte App) verwendet. Ich war in der Lage, Umgebungsvariablen mit cross-env auf Web zu setzen, aber dies scheint nicht mit reaktionsnativen arbeiten.Wie übergebe ich Umgebungsvariablen an babelrc?
Bedeutung:
npm Skript
cross-env NODE_ENV=development BABEL_ENV=development_web webpack-dev-server --hot --progress --config build/webpack.config.dev.js
gut funktioniert.aber
cross-env NODE_ENV=development BABEL_ENV=development_rn && react-native run-ios
wird nicht funktionieren!
bekam ich zwei verschiedene BABEL_ENV env Einstellungen für .babelrc
:
{
"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" }]]
},
}
}
Wie kann ich NODE_ENV/BABEL_ENV zu development_rn
ernennen für native reagieren?
versuchte ich 'Quer env NODE_ENV = Entwicklung BABEL_ENV = development_rn npm Lauf test' und Testskript ist:' echo NODE_ENV = $ NODE_ENV BABEL_ENV = $ BABEL_ENV' es funktioniert gut, das Echo-Ergebnis ist korrekt. Aber wenn ich das Testskript in 'reactive-native run-ios' ändere, geben sie in der reaktionsnativen App' process.env.NODE_ENV = nothing' und 'process.env.BABEL_ENV = development' zurück. Sind die Einstellungen für die durchschnittliche Umgebungsvariable nicht reaktionsbereit? – Kim
Es gibt ein [offenes Problem # 8723] (https://github.com/facebook/react-native/issues/8723) für 'BABEL_ENV'. Was die Verwendung von Umgebungsvariablen in Ihrem reaktiven nativen Code betrifft, sollten Sie sich die [Umgebungsvariable in reaktiv-nativ setzen?] (Https://stackoverflow.com/questions/33117227/setting-environment-variable-in- reactive-native), was erklären sollte, warum sie die Standardwerte haben, aber das löst das Babel-Problem nicht. –