当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 将变量从NPM脚本传递到Webpack

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有一个使用Webpack的生成版本,它使用node的process.env来设置环境变量: webpack.prod.babel.js: const DefinePlugin = new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify('production'), API_URL: JSON.str
我有一个使用Webpack的生成版本,它使用node的process.env来设置环境变量:

webpack.prod.babel.js:

const DefinePlugin = new webpack.DefinePlugin({
  'process.env': {
    NODE_ENV: JSON.stringify('production'),
    API_URL: JSON.stringify('https://myprodurl.com'),
  },
});

packge.json:

"scripts: {
  "build:prod": "webpack"
}

它工作正常,但我需要不同的东西.

我需要在NPM脚本中将生产URL设置为变量.

所以,而不是这个:

npm run build:prod

我需要这个:

npm run build:prod --URL https://myprodurl.com
如何在命令行中定义环境变量,如:

URL = https://myprodurl.com npm run build:prod

我用一个简单的脚本测试了这个,并且能够打印出URL.

"scripts": {
  "test": "./myTest.js"
},

myTest.js:

#!/usr/local/bin/node

'use strict'

console.log(process.env.URL);
console.log('Done!');

然后:

$URL=https://whatever.com npm run test

> my-test@1.0.0 test /Test/my-test
> ./myTest.js

https://whatever.com
Done!

编辑:正如@RyanZim所述,请参阅以下Windows:https://github.com/kentcdodds/cross-env(免责声明:我不使用Windows而且从未试过这个lib)

网友评论