c***@163.com
c***@163.com
  • 发布:2025-06-05 10:31
  • 更新:2025-06-05 11:57
  • 阅读:35

【报Bug】自定义条件编译平台并增加环境变量,其他js中不能访问process.env.UNI_SCRIPT,vue.config.js中不能访问自行增加的环境变量

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 7

第三方开发者工具版本号: VSCode1.70.2

基础库版本号: 2.0.2-4020420240722001

项目创建方式: CLI

CLI版本号: 5.0.8

示例代码:

vue-cli创建的项目,自定义条件编译平台如下:

"uni-app": {  
    "scripts": {  
      "mp-ft": {  
        "title": "ft科技小程序",  
        "env": {  
          "UNI_PLATFORM": "mp-weixin",  
          "MY_TEST": "mp-ft"  
        },  
        "define": {  
          "MP-FT": true  
        }  
      }  
    }  
  }

在vue.config.js中能访问到UNI_SCRIPT、UNI_PLATFORM,访问不到MY_TEST;
其他js文件中访问不到UNI_SCRIPT:

console.log('vue.config.js: ', process.env.UNI_SCRIPT, process.env.UNI_PLATFORM, process.env.MY_TEST) // vue.config.js:  mp-ft mp-weixin undefined   
console.log('other.js: ', process.env.UNI_SCRIPT, process.env.UNI_PLATFORM, process.env.MY_TEST) // other.js:  undefined mp-weixin mp-ft

操作步骤:

package.json中自定义条件编译平台并增加环境变量,然后在不同js文件中输出

预期结果:

应当获取到设置的对应值

实际结果:

其他js中不能访问process.env.UNI_SCRIPT,
vue.config.js中不能访问自行增加的环境变量

bug描述:

自定义条件编译平台并增加环境变量,
其他js中不能访问process.env.UNI_SCRIPT,
vue.config.js中不能访问自行增加的环境变量。
复现demo见附件。

2025-06-05 10:31 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

vue.config.js 可以直接访问 process.UNI_SCRIPT_ENV 可以获取到自定义的 env

业务代码可以参照下面示例代码

module.exports = {  
    chainWebpack: (config) => {  
    config.plugin("define").tap((args) => {  
      args[0] = args[0] || {};  
      args[0]["process.env"] = args[0]["process.env"] || {};  

      // 添加自定义全局变量  
      args[0].__TEST__ = JSON.stringify(process.UNI_SCRIPT_ENV);  

      return args;  
    });  
  },  
}

代码中直接访问 TEST

要回复问题请先登录注册