![](/img/trans.png)
[英]Can't use .env file in vue js while running cross-env NODE_ENV=development webpack-dev-server --open --hot
[英]cross-env not populating NODE_ENV
我正在尝试使用 cross-env package 为生产和开发提供两个单独的脚本配置。但是 cross-env 没有填充值
配置.js
const dotenv = require('dotenv');
const path = require('path');
// this is used for resolving the correct .env file
dotenv.config({
path : path.resolve(__dirname, process.env.NODE_ENV + '.env')
});
module.exports = {
NODE_ENV: process.env.NODE_ENV,
HOST: process.env.HOST,
LISTENPORT: process.env.LISTENPORT,
DBHOST: process.env.DBHOST
}
package.json
"scripts": {
"prod": "cross-env NODE_ENV=production&& node index.js",
"dev": "cross-env NODE_ENV=development&& node index.js"
}
索引.js
const config = require('./config.js');
expressApp.listen(config.LISTENPORT, () => {
console.log(config);
});
如果我使用npm run dev
或npm run prod
启动服务器,无论哪种情况,从 index.js 到控制台的 output 都是:
> cross-env NODE_ENV=development&& node index.js
{
NODE_ENV: undefined,
HOST: undefined,
LISTENPORT: undefined,
DBHOST: undefined
}
不知道我做错了什么。
我将cross-env
更改为export
,它似乎可以工作。 可能不适用于 windows,但至少适用于 linux/macos。
"scripts": {
"prod": "export NODE_ENV=production&& node index.js",
"dev": "export NODE_ENV=development&& node index.js"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.