WePY根据环境变量来改变运行时的参数

参考:https://github.com/Tencent/wepy/wiki/WePY%E6%A0%B9%E6%8D%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%90%E8%A1%8C%E6%97%B6%E7%9A%84%E5%8F%82%E6%95%B0
 

package.json中使用script字段,配置环境变量,可以通过不通编译命令打包代码至不同环境,如:

  "scripts": {
    "build": "cross-env NODE_ENV=production wepy build --no-cache",
    "dev": "cross-env NODE_ENV=development wepy build --watch"
  },

因此,在使用npm run dev 或者 npm run build时,在wepy.config.js中可以通过process.env.NODE_ENV拿到不同的环境变量值。

接下来就介绍两种方法,如何通过这个环境变量值去改变小程序运行时的参数。

1. 使用appConfig字段

这个字段是在会编译时编译进小程序代码里的 在wepy.config.js中加入这个字段:

appConfig: {
   baseUrl: process.env.NODE_ENV === 'production' ? 'https://api.a.com/' : 'https://api.a.com/dev/
}

代码中直接使用这个字段:

import wepy from 'wepy';

wepy.request({url: wepy.$appConfig.baseUrl + 'get/1'});

2. 使用 wepy-plugin-replace 去实现

wepy.config.js配置replace插件:

plugins = {
   'replace': {
        filter: /*\.js$/g,
        config: {
            find: /__BASE_URL__/g
            replace: process.env.NODE_ENV === 'production' ? 'https://api.a.com/' : 'https://api.a.com/dev/
        }
   }
}

在代码里直接使用 BASE_URL, 编译后就会被替换掉了。

import wepy from 'wepy';

wepy.request({url: __BASE_URL__ + 'get/1'});
H-L
发布了8 篇原创文章 · 获赞 5 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/helenwei2017/article/details/103258306