nuxt.config.js:为开发或生产加载不同的配置

时间:2019-09-16 11:57:34

标签: config nuxt.js

如何为生产和开发加载不同的设置。

例如,我想要这样的东西:

nuxt.config.js

  sentry: {
    dsn: 'xxx',
    config: {
      disabled: !env.isDev
    }
  },

不幸的是,isDev在该阶段无法使用。

2 个答案:

答案 0 :(得分:0)

创建2个不同的配置文件:

nuxt.config.dev.js
nuxt.config.js

并在scripts部分的package.json中为开发版本指定配置文件

--config-file nuxt.config.dev.js

"scripts": {
    "dev": "cross-env NODE_ENV=development HOST=111.111.111.111 PORT=3001 nodemon --watch api --exec \"nuxt --config-file nuxt.config.dev.js --spa\"",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production HOST=111.111.111.111 PORT=3002 nuxt start --spa "
  }

答案 1 :(得分:0)

感谢您的宝贵意见。

同时,找到了另一个解决方案,该解决方案对于我当前的用例来说效果很好。

nuxt.config.js

import stdEnv from 'std-env'

...
sentry: {
    dsn: 'xxx',
    config: {
      disabled: !stdEnv.dev
    }
  },
...

如果您的生产设置几乎没有差别,我认为这是一个很好且简单的解决方案。

最后,我可能会同时使用两者。

编辑: 在nuxt.config.js中导入'std-env'给我生产上的一些问题。 我目前使用此代码是没有问题的:

(process.env.NODE_ENV === 'development')

那样,您无需导入任何内容!