首页 > 解决方案 > Vue cli 默认使用 webpack 4 而不是 5

问题描述

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

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

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

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

标签: javascriptwebpackvuejs2

解决方案


根据我在 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。但就我个人而言,它并没有真正解决问题,因为发生了新错误:

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


推荐阅读