【问题标题】:Vue cli using webpack 4 instead of 5 by defaultVue cli 默认使用 webpack 4 而不是 5
【发布时间】:2021-06-25 01:49:46
【问题描述】:

我正在尝试使用 Vue 2 启动并运行一个应用程序,在我尝试使用 node-sasssass-loader 包之前一切都很好。我开始遇到错误,经过调查,看来我需要使用webpack 5+ 才能使最新的node-sass 包工作。在四处寻找之后,它看起来像我创建项目时默认为 webpack 版本 4.46.0。

我按照官方页面上的说明将我的vue-cli 更新到了最新版本,然后尝试重新初始化一个新项目,但仍然遇到同样的问题。目前,我有@vue/cli 4.5.12,它看起来是最新的(我认为)。

我正在使用 vue create <app-name> 初始化应用程序,并且我正在使用默认配置。我确实找到了 this 页面,上面写着“从 v4 迁移”,这可能意味着可能有更高版本的 vue-cli 但我再次按照所有说明操作无济于事,所以不确定我是否只是在这里遗漏了一些东西。

我是 Vue 的新手,不知道我应该提供哪些额外的信息才能使它有用,但我已经搜索了所有内容,我一生都无法弄清楚发生了什么。

【问题讨论】:

  • 完全相同的问题

标签: javascript webpack vuejs2


【解决方案1】:

根据我在 GitHub 上的发现,Vue CLI 的最新稳定版本 - 4.5.12 - 仍然使用 Webpack 4:https://github.com/vuejs/vue-cli/blob/v4.5.12/package.json。 考虑到这一点,我认为最简单的解决方案是将 sass-loader 降级到版本 10,例如 npm install sass-loader@10,如下所示:https://stackoverflow.com/a/66087132/1505369

您可以尝试使用 vue-cli 的 beta 版本,方法是将 @vue/cli-service 和我相信的所有 vue-cli 插件更新到版本 5.0.0-beta.0,使用 npm install @vue/cli-service@5.0.0-beta.0 @vue/cli-plugin-babel@5.0.0-beta.0 @vue/cli-plugin-eslint@5.0.0-beta.0 @vue/cli-plugin-vuex@5.0.0-beta.0,最终应该安装和使用 Webpack 5,但对我来说它并没有真正解决问题,因为发生了新错误:

错误类型错误:“编译”参数必须是 编译类型错误:“编译”参数必须是一个实例 编译
// ...

【讨论】:

  • 安装最高的 10.x sass-loader 版本就可以了,这似乎是最轻松的方式。我没有意识到最新的稳定版 Vue CLI 还不支持 Webpack 5,所以感谢您指出这一点。这为我节省了大量时间来试图找出我做错了什么。
  • @djvaroli,太棒了!我真的很高兴它有帮助。感谢您的留言!
猜你喜欢
  • 2019-05-04
  • 2017-08-15
  • 2018-07-24
  • 2020-12-15
  • 2020-07-26
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
相关资源
最近更新 更多