📕
blog
  • Hi there
  • javascript
    • 柯里化 - Curry
    • 观察者和订阅-发布模式
    • generator
    • 发布订阅-依赖于window
    • pwa manual trigger install
  • browser
    • beautify scrollbar
  • http
    • nginx 缓存配置
  • extra
    • vue-cli 不使用 .env[.xxx] 文件,添加额外运行时参数
    • docker-compose nginx with ssl config
  • React
    • How React works
Powered by GitBook
On this page
  • vue.config.js
  • package.json
  • 项目代码中

Was this helpful?

  1. extra

vue-cli 不使用 .env[.xxx] 文件,添加额外运行时参数

不使用 .env[.xxx] 文件,直接在 package.json 里面添加参数

vue.config.js

const { argv } = require('yargs')

const filterUsefulArgs = arg => { // 这个方法是为了过滤掉一些不需要的参数
  const reg = /[a-z]+/i
  const target = {}
  for (const key in arg) {
    if (reg.test(key)) {
      target[key] = arg[key]
    }
  }
  return target
}

module.exports = {
  chainWebpack: config => {
    config.plugin('define').tap(options => {
      // 此处一定要 JSON.stringify 
      options[0]['process.env'].PARAMETER = JSON.stringify(filterUsefulArgs(argv))
      return options
    })
  }
}

package.json

{
    "scripts": {
        "serve": "vue-cli-service serve --mode=dev --persisted"
    }
}

项目代码中

console.log(process.env.PARAMETER) // {mode: "dev", persisted: true}

Previousnginx 缓存配置Nextdocker-compose nginx with ssl config

Last updated 4 years ago

Was this helpful?