当前位置: 代码迷 >> 综合 >> DeprecationWarning: Starting with Nuxt version 3 this will be a fatal error
  详细解决方案

DeprecationWarning: Starting with Nuxt version 3 this will be a fatal error

热度:72   发布时间:2023-12-17 19:54:06.0

在nuxt项目中添加了serverMiddleware,服务端中间件之后,打包爆出了这个警告,

   ╭──────────────────────────────────────────────────────────────────────────────────────╮│                                                                                      ││   ? Nuxt Warning                                                                    ││                                                                                      ││   The command 'nuxt build' finished but did not exit after 5s                        ││   This is most likely not caused by a bug in Nuxt.js                                 ││   Make sure to cleanup all timers and listeners you or your plugins/modules start.   ││   Nuxt.js will now force exit                                                        ││                                                                                      ││   DeprecationWarning: Starting with Nuxt version 3 this will be a fatal error        ││                                                                                      │╰──────────────────────────────────────────────────────────────────────────────────────╯

查看github,找到解决办法,
即:
原来是因为nuxt在打包过程中加载了serverMiddleware里的文件,出现了这个提示
解决办法,

1,去掉nuxt.config.js里的serverMiddleware配置

// nuxt.config.js
// serverMiddleware: [
// '~/serverMiddleware/cache'
// ]

2,在nuxt.config.js里的modules里新加一个配置

// nuxt.config.js
modules: ['~/modules/api'
],

3,在项目的根目录下,新建一个modules文件夹

// ~/modules/api.js
module.exports = function (moduleOptions) {
    // Add middleware only with `nuxt dev` or `nuxt start`if (this.options.dev || this.options._start) {
    this.addServerMiddleware('~/serverMiddleware/cache')}
}

保存文件,运行npm run dev,可以正常运行,npm run build不会报错了。
github链接在这,如果不够详细的话,你去看看
https://github.com/nuxt/nuxt.js/issues/5669

  相关解决方案