环境变量的传递路径:命令行命令 -> Webpack -> Webpack 加载的各种 js 和 Vue 文件
你的 nodejs 运行命令启动项目
// package.json
"dev": "cross-env BABEL_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"prod": "cross-env BABEL_ENV=production env_config=prod webpack-dev-server --inline --progress --config build/webpack.prod.conf.js",
"build": "cross-env NODE_ENV=production env_config=prod node build/build.js",
// webpack DefinePlugin 的配置
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development')
}
})
// vue js文件中引用
console.log(process.env.NODE_ENV === 'production')
webpack 接收到 NODE_ENV=production 的命令行变量(process.env.NODE_ENV 来获取)在webpack配置和vue项目中都可以通过此变量process.env.NODE_ENV获取全局环境变量。