【发布时间】:2021-12-08 08:14:32
【问题描述】:
我有两个不同的环境,分别命名为.env.development、.env.production 和常见的.env。
.env.development 看起来像这样,
TEST_LABEL=Development
.env.production 看起来像这样,
TEST_LABEL=Production
.env 看起来像这样,
TEST_LABEL=ENV
这是我的babel.config.js,
module.exports = function (api) {
api.cache(true);
return {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
["module:react-native-dotenv",
{
"moduleName": "@env"
},]
]
};
};
这是package.json中的脚本
"scripts": {
"start": "react-native start",
"development": "NODE_ENV=development expo start",
"production": "NODE_ENV=production expo start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"web": "expo start --web",
"eject": "expo eject",
"test": "jest"
},
这就是我在Homescreen.js中使用它的方式
import {TEST_LABEL} from "@env"
...
<Text>{TEST_LABEL}</Text>
即使我运行生产环境,它也始终显示 Development
我在开发环境中运行npm run development 之类的应用程序,在生产环境中运行npm run production。
我正在使用react-native-dotenv
这是项目结构快照,
【问题讨论】:
-
你试过关闭缓存吗?
-
是的,我试过了
-
常见的
.env中TEST_LABEL的值是多少? -
我更新了答案,清除缓存解决了问题
标签: javascript node.js react-native dotenv