npm 运行 demo 没有指向演示
npm run demo doesn't pointing to demo
我有两个不同的环境,分别命名为 .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
这是项目结构快照,
我找到了这个issue and it says the only supported envs are development
, production
, and test
. If you want to use other env names you can use the experimental featureAPP_ENV
"demo": "APP_ENV=demo expo start",
"local": "APP_ENV=local expo start",
我认为 .local
文件由 default
加载
UDPATE
我测试了您的配置,看起来 issue 是值未更新的原因,将 -c
添加到您的命令会清除缓存并加载正确的 env 值
"development": "NODE_ENV=development expo start -c",
"production": "NODE_ENV=production expo start -c",
我有两个不同的环境,分别命名为 .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
这是项目结构快照,
我找到了这个issue and it says the only supported envs are development
, production
, and test
. If you want to use other env names you can use the experimental featureAPP_ENV
"demo": "APP_ENV=demo expo start",
"local": "APP_ENV=local expo start",
我认为 .local
文件由 default
UDPATE
我测试了您的配置,看起来 issue 是值未更新的原因,将 -c
添加到您的命令会清除缓存并加载正确的 env 值
"development": "NODE_ENV=development expo start -c",
"production": "NODE_ENV=production expo start -c",