功能需求:要求能够根据不同打包命令(测试环境,线上环境)配置出全局变量,根据这个全局变量来自动寻找对应环境的接口域名。
如果仅仅做了1中的配置,仅能从配置文件中获取NODE_ENV的值,在业务代码上是获取不到的。
1:在package.json文件中配置如下信息:
"scripts": {
"dev": "cross-env NODE_ENV=dev wepy build --watch",
"build": "cross-env NODE_ENV=production wepy build --no-cache",
"dev:web": "wepy build --output web",
"clean": "find ./dist -maxdepth 1 -not -name 'project.config.json' -not -name 'dist' | xargs rm -rf",
"test": "echo \"Error: no test specified\" && exit 1"
},
注意:安装cross-env插件。
2:在wepy.config.js文件中添加这个插件'transform-node-env-inline'
babel: {
sourceMap: true,
presets: [
'env'
],
plugins: [
'transform-class-properties',
'transform-decorators-legacy',
'transform-object-rest-spread',
'transform-export-extensions',
// 此处添加
'transform-node-env-inline'
]
}
注意:安装transform-node-env-inline插件
效果:运行 npm run dev 的时候就会有process.env.NODE_ENV 这样一个全局变量,这个值就是打包时候配置进去的。