【问题标题】:nuxt.config.js where build modules build only in dev mode?nuxt.config.js 在哪里构建模块仅在开发模式下构建?
【发布时间】:2021-03-17 00:36:33
【问题描述】:

源码:github.com/alexpilugin/ap-nuxt-firebase-ssr 接下来是问题:此 Nuxt SSR 应用程序使用相同的 nuxt.config.js 文件,该文件位于 /src 文件夹中,在部署之前它将被复制到服务器文件夹中.

nuxt.config.js 包含一个在服务器上创建问题的下一个构建模块(在 ssrapp firebase 函数中)

buildModules: [
  // https://go.nuxtjs.dev/eslint
  '@nuxtjs/eslint-module'
],

我的问题是如何使用单个 nuxt.config.js 文件,但不要在生产中使用 @nuxtjs/eslint

我发现可以像这样在 nuxt.config.js 文件中定义开发模式:
dev: process.env.NODE_ENV !== 'production' 但是如何将它与 buildModules 一起使用以便在条件下使用它?

我当前的解决方案 - 从 nuxt.config.js 文件中删除 @nuxtjs/eslint-module

【问题讨论】:

    标签: vue.js nuxt.js server-side-rendering


    【解决方案1】:

    我认为您可以编写一个 javascript 函数来返回基于相关环境的模块(dev 或 prod)。

    // moduleBuilder.js

     const getModulesByEnvironment = () => {
     const env = process.env.NODE_ENV;
    
     if (env === 'production') {
       return [
         ...
         'brilliant_prod_module',
         ...
    
       ];
     } 
     else {
      return [
        ...
        'brilliant_dev_module',
        ...
       ]
     } 
     };
    
    export { getModulesByEnvironment };
    

    // nuxt.config.js

    import { getModulesByEnvironment } from './moduleBuilder';
    
    ...
    buildModules: getModulesByEnvironment()
    ...
    

    【讨论】:

    • 谢谢。这是一个非常有趣的方法。我一定会试试的!
    • 我很高兴,我建议按照最简单的方式做某事。这是 javascript :)
    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    相关资源
    最近更新 更多