wepy根据不同打包命令配置不同的全局变量

功能需求:要求能够根据不同打包命令(测试环境,线上环境)配置出全局变量,根据这个全局变量来自动寻找对应环境的接口域名。

如果仅仅做了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 这样一个全局变量,这个值就是打包时候配置进去的。

猜你喜欢

转载自blog.csdn.net/sdfujichao/article/details/83308211