报错

Module build failed (from ./node_modules/_sass-loader@12.3.0@sass-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
at Object.loader (/Users/apple/Desktop/vue/hotspot_admin/node_modules/_sass-loader@12.3.0@sass-loader/dist/index.js:25:24)
@ ./node_modules/vue-style-loader??ref–8-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref–8-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref–8-oneOf-1-2!./node_modules/_sass-loader@12.3.0@sass-loader/dist/cjs.js??ref–8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref–0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tinymce/components/preView.vue?vue&type=style&index=1&id=1a4f87c2&lang=scss&scoped=true& 4:14-518 14:3-18:5 15:22-526

无论是npm install还是cnpm install 下载的node_modules都不能使用。即使运行项目,也无法启动项目。

我找了许多方式来解决此问题,包括:
第一种:

npm install node-sass --save 重新装下node-sass

npm install -g cnpm --registry=https://registry.npm.taobao.org下载cnpm
然后用cnpm去安装 cnpm install node-sass --save

第二种:

  1. 先运行: npm install -g node-gyp
  2. 然后运行:运行 npm install --global --production windows-build-tools
可以自动安装跨平台的编译器

npm uninstall node-sass
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

等等以上方法,运行时已就报错。我差点去下载python了。

第三种:
因为之前运行项目都没有出问题,所以我怀疑是自己更新了node最新版本导致的。
于是删除了本地的node版本(我使用的是14.15.0),使用了别人的旧版本号 node 12.18.0.结果还是不行。

正解:

不绕弯子了,我终于发现了一个很沙雕的问题,居然是node-sass sass-loader 版本不匹配。直接更改成相同版本就运行正常了。

解决方法:

cnpm install node-sass@7.0.1
npm install sass-loader@7.0.1

运行这两行代码就能成功运行了。(ps:浪费了我一下午的时间,搞这个,呜呜呜)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐