错误:将nuxt更新到v2.3.4之后的循环依赖性

时间:2019-01-18 08:07:43

标签: nuxt.js webpack-4

优化块资产后仍停留在该状态(93%)

显示这样的错误 /node_modules/toposort/index.js:35 抛出新的错误('循环依赖'+ nodeRep)

我不断收到此错误。要更新我的应用,我会仔细执行以下步骤,但仍然没有任何反应。 请调查一下。

      throw new Error('Cyclic dependency' + nodeRep)
      ^

Error: Cyclic dependency
    at visit (/var/www/html/app/node_modules/toposort/index.js:35:13)
    at visit (/var/www/html/app/node_modules/toposort/index.js:53:9)
    at visit (/var/www/html/app/node_modules/toposort/index.js:53:9)
    at visit (/var/www/htmlapp/node_modules/toposort/index.js:53:9)
    at Function.toposort [as array] (/var/www/html/app/node_modules/toposort/index.js:22:22)
    at Object.module.exports.dependency (/var/www/html/app/node_modules/html-webpack-plugin/lib/chunksorter.js:50:35)
    at HtmlWebpackPlugin.sortChunks (/var/www/html/app/node_modules/html-webpack-plugin/index.js:364:35)

...

1 个答案:

答案 0 :(得分:1)

当我尝试在一个组件中延迟加载多个子组件时,我遇到了同样的错误。

问题原因

该问题是由名为 toposort 的库引起的,html-webpack-plugin 在版本 < 4.0.0 (it was removed) 上使用了该库。

Nuxt 将 v2.13 中的 html-webpack-plugin 更新为 v4。

解决方案

解决方案 1

将 Nuxt 更新到版本 v2.13 或更新版本。

解决方案 2

如果您无法将 Nuxt 更新到 v2.13 或更新版本,您可以在 nuxt.config.js

中应用以下解决方案

nuxt.config.js

const htmlPlugin = config.plugins.find(_ => _.constructor.name === 'HtmlWebpackPlugin')
if (htmlPlugin) {
  Object.assign(htmlPlugin.options, { chunksSortMode: 'none' })
}

我从 nuxtvue-cli 存储库中报告的以下问题中得到了该解决方案:

还有,vue-cli 中应用的解决方案: