nuxt.config.js 在哪里构建模块仅在开发模式下构建?

Posted

技术标签:

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

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

nuxt.config.js 包含一个在服务器上创建问题的下一个构建模块(在 s-s-rapp 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

【问题讨论】:

【参考方案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 :)

以上是关于nuxt.config.js 在哪里构建模块仅在开发模式下构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Nuxt 的 nuxt.config.js 中导入 mdi 图标模块

nuxt.config.js文件

我们如何在 Nuxt?Vuejs 项目中仅包含来自 lodash 的必需模块?

nuxt.config.js 中的条件属性

如何在 nuxt.js 中挑选 bootstrap-vue.js 模块?

如何在 AWS Cognito ui 中使用 nuxt auth 模块