vue.js 为什么这个命令不能在quasar项目“ENV_FILE=dev quasar build”上运行?

zu0ti5jz  于 2023-05-01  发布在  Vue.js
关注(0)|答案(1)|浏览(164)

我有一个类星体项目,我想通过cmd传递envirnomets变量的名称,例如:ENV_FILE=dev quasar build,用于开发环境,ENV_FILE=stg quasar build,用于暂存和:ENV_FILE=prd quasar构建,用于生产
我已经创建了文件。www.example www.example.com ,.env.prd,.env.stg现在在类星体中。config.js,我有这样的东西:

module.exports = configure(function(ctx) {
    require('dotenv').config();
    const env = require('dotenv').config({
        path: `.env.${process.env.ENV_FILE.toLowerCase()}`
    }).parsed;
    return {
        env: {
            ...env
        }
    }
    )
}

问题是过程。env.ENV_FILE是否未定义?我如何得到通过cmd e传递的值。g:ENV_FILE=dev quasar build?

m1m5dgzv

m1m5dgzv1#

1-)在主目录中创建相关的环境变量文件。推荐的文件名:

.env.development / .环境生产

2-)在类星体中。conf.jsusedotenv**library(如果未安装:npm install dotenv --保存):

const env = require('dotenv').config({ path: `.env.${process.env.ENV_FILE.toLowerCase()}` }).parsed

然后将var放入类星体环境变量:

build: {
       env: {
         ...env
       }
}

3-)然后根据所需的环境变量文件运行build命令:

ENV_FILE=development quasar build

注意:在命令行中使用环境变量在所有操作系统上并不相同。

如果您使用Windows:

$env:ENV_FILE="development"; quasar build

相关问题