uni-app scripts自定义环境变量在config文件中无法读取

uni-app scripts自定义环境变量在config文件中无法读取

2 回复

请问你最后怎么解决这个问题了

更多关于uni-app scripts自定义环境变量在config文件中无法读取的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中,通过 scripts 配置自定义环境变量时,需要在 package.json 中正确设置环境变量,并在 vue.config.jsuni.config.js 中通过 process.env 读取。常见问题及解决方案如下:

  1. 环境变量未正确注入
    确保 package.jsonscripts 命令中设置了环境变量,例如:

    "scripts": {
      "build:dev": "cross-env NODE_ENV=development uni-build",
      "build:prod": "cross-env NODE_ENV=production uni-build"
    }
    

    使用 cross-env 可跨平台设置环境变量。

  2. 在配置文件中读取环境变量
    vue.config.js 或自定义配置文件中,通过 process.env.NODE_ENV 获取变量:

    const isProduction = process.env.NODE_ENV === 'production';
    module.exports = {
      // 根据环境变量配置不同参数
    }
    
  3. 环境变量未传递到客户端
    若需在客户端代码(如页面或组件)中使用环境变量,需在配置文件中通过 define 注入:

    const webpack = require('webpack');
    module.exports = {
      configureWebpack: {
        plugins: [
          new webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
          })
        ]
      }
    }
    
  4. 检查变量命名和格式
    环境变量名需以 VUE_APP_UNI_APP_ 开头才能在客户端访问,例如:

    "scripts": {
      "build:dev": "cross-env VUE_APP_API_URL=http://dev.example.com uni-build"
    }
回到顶部