情景再现

我使用了以下命令安装了 stylus 依赖包之后:

cnpm install stylus stylus-loader --save-dev

使用以下命令运行 Vue 项目:

npm start
#或者
npm run dev

会报Module build failed: TypeError: loaderContext.getResolve is not a function错误,完整错误信息如下:

14% building modules 35/36 modules 1 active ...orkspace\vue\xxx-client\src\App.vueD:\work\201222\workspace\vue\xxx-client\node_modules\_stylus-loader@4.3.1@stylus-loader\dist\utils.js:276const fileResolve = loaderContext.getResolve({^TypeError: loaderContext.getResolve is not a functionat createEvaluator (D:\work\201222\workspace\vue\xxx-client\node_modules\_stylus-loader@4.3.1@stylus-loader\dist\utils.js:276:37)at Object.stylusLoader (D:\work\201222\workspace\vue\xxx-client\node_modules\_stylus-loader@4.3.1@stylus-loader\dist\index.js:107:60)at LOADER_EXECUTION (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:119:14)at runSyncOrAsync (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:120:4)at iterateNormalLoaders (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:232:2)at iterateNormalLoaders (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:221:10)at D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:236:3at Object.context.callback (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:111:13)at Object.module.exports (D:\work\201222\workspace\vue\xxx-client\node_modules\_vue-loader@13.7.3@vue-loader\lib\selector.js:21:8)at LOADER_EXECUTION (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:119:14)at runSyncOrAsync (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:120:4)at iterateNormalLoaders (D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:232:2)at D:\work\201222\workspace\vue\xxx-client\node_modules\_loader-runner@2.4.0@loader-runner\lib\LoaderRunner.js:205:4at D:\work\201222\workspace\vue\xxx-client\node_modules\_enhanced-resolve@3.4.1@enhanced-resolve\lib\CachedInputFileSystem.js:70:14at processTicksAndRejections (node:internal/process/task_queues:75:11)
npm ERR! code 1
npm ERR! path D:\work\201222\workspace\vue\xxx-client
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c webpack-dev-server --inline --progress --config build/webpack.dev.conf.jsnpm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\xxx\AppData\Local\npm-cache\_logs\2020-12-21T22_08_44_895Z-debug.log
npm ERR! code 1
npm ERR! path D:\work\201222\workspace\vue\xxx-client
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c npm run devnpm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\xxx\AppData\Local\npm-cache\_logs\2020-12-21T22_08_44_968Z-debug.log

错误原因

less-loader 的版本太高,虽然我没有用到 less-loader,但是我使用的 stylus-loader 是一个类似于 less 的依赖,此问题就是由于 stylus-loader 的版本过高导致的。

解决方案

卸载原来的 stylus-loader:

npm uninstall stylus-loader --save-dev

卸载失败,报以下错误:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: ajv@5.5.2
npm ERR! node_modules/_ajv-keywords@2.1.1@ajv-keywords/node_modules/ajv
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer ajv@"^5.0.0" from _ajv-keywords@2.1.1@ajv-keywords@2.1.1
npm ERR! node_modules/_ajv-keywords@2.1.1@ajv-keywords
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\xxx\AppData\Local\npm-cache\eresolve-report.txt for a full report.npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\xxx\AppData\Local\npm-cache\_logs\2020-12-21T22_19_50_328Z-debug.log

我只好手动删除了。

首先修改 package.json 文件,删除以下内容:

"stylus-loader": "^4.3.1",

我的是在 devDependencies 下。

然后进入 node_modules 文件夹下,删除 _stylus-loader@4.3.1@stylus-loader文件夹。(4.3.1 是当前最新的版本号,你的有可能会和我的不一样,总之把当前的高版本 _stylus-loader 删掉就对了)

重新安装正确版本的 stylus-loader:

cnpm install stylus-loader@3.0.2 --save-dev

验证结果

使用以下命令运行 Vue 项目:

npm start
#或者
npm run dev

运行日志:

$ npm start> xxx@1.0.0 start
> npm run dev> xxx@1.0.0 dev
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js10% building modules 0/1 modules 1 active ... webpack/hot/dev-server ./src/main 10% building modules 1/2 modules 1 active ...client\index.js?http://localhost:8 10% building modules 2/3 modules 1 active ...\webpack\hot nonrecursive /^\.\/lo 10% building modules 2/4 modules 2 active ...5@webpack-dev-server\client\socket 10% building modules 2/5 modules 3 active ...@webpack-dev-server\client\overlay 10% building modules 3/5 modules 2 active ...@webpack-dev-server\client\overlay 10% building modules 3/6 modules 3 active ...t\node_modules\_url@0.11.0@url\url 10% building modules 3/7 modules 4 active ...pack@3.12.0@webpack\hot\dev-server 10% building modules 4/7 modules 3 active ...pack@3.12.0@webpack\hot\dev-server 10% building modules 5/7 modules 2 active ...pack@3.12.0@webpack\hot\dev-server 10% building modules 6/7 modules 1 active ...pack@3.12.0@webpack\hot\dev-server 10% building modules 7/8 modules 1 active ...webpack@3.12.0@webpack\hot\emitter 10% building modules 7/9 modules 2 active ...orkspace\vue\xxx-client\src\main 10% building modules 7/10 modules 3 active ...es\_webpack@3.12.0@webpack\hot\lo 10% building modules 8/10 modules 2 active ...es\_webpack@3.12.0@webpack\hot\lo 10% building modules 8/11 modules 3 active ...\node_modules\_url@0.11.0@url\uti 10% building modules 8/12 modules 4 active ....12.0@webpack\hot\log-apply-resul 11% building modules 9/12 modules 3 active ....12.0@webpack\hot\log-apply-resul 11% building modules 10/12 modules 2 active ....12.0@webpack\hot\log-apply-resu 11% building modules 10/13 modules 3 active ...\_punycode@1.4.1@punycode\punyco 11% building modules 10/14 modules 4 active ...ng-es3@0.2.1@querystring-es3\ind 11% building modules 11/14 modules 3 active ...ng-es3@0.2.1@querystring-es3\ind 11% building modules 12/14 modules 2 active ...ng-es3@0.2.1@querystring-es3\ind 11% building modules 12/15 modules 3 active ...glevel@1.7.1@loglevel\lib\loglev 11% building modules 13/15 modules 2 active ...glevel@1.7.1@loglevel\lib\loglev 11% building modules 13/16 modules 3 active ...pack@3.12.0@webpack\buildin\modu 11% building modules 13/17 modules 4 active ...pack@3.12.0@webpack\buildin\glob 11% building modules 14/17 modules 3 active ...pack@3.12.0@webpack\buildin\glob 11% building modules 15/17 modules 2 active ...glevel@1.7.1@loglevel\lib\loglev 11% building modules 16/17 modules 1 active ...glevel@1.7.1@loglevel\lib\loglev 11% building modules 16/18 modules 2 active ...odules\_events@3.2.0@events\even 11% building modules 16/19 modules 3 active ..._strip-ansi@3.0.1@strip-ansi\ind 12% building modules 17/19 modules 2 active ..._strip-ansi@3.0.1@strip-ansi\ind 12% building modules 17/20 modules 3 active ...nt@1.1.5@sockjs-client\dist\sock 12% building modules 18/20 modules 2 active ...nt@1.1.5@sockjs-client\dist\sock 12% building modules 18/21 modules 3 active ...g-es3@0.2.1@querystring-es3\deco 12% building modules 18/22 modules 4 active ...g-es3@0.2.1@querystring-es3\enco 12% building modules 19/22 modules 3 active ...g-es3@0.2.1@querystring-es3\enco 12% building modules 19/23 modules 4 active ...s\_ansi-html@0.0.7@ansi-html\ind 12% building modules 20/23 modules 3 active ...s\_ansi-html@0.0.7@ansi-html\ind 12% building modules 20/24 modules 4 active ...ties@1.4.0@html-entities\lib\ind 12% building modules 21/24 modules 3 active ...ties@1.4.0@html-entities\lib\ind 12% building modules 22/24 modules 2 active ...ties@1.4.0@html-entities\lib\ind 12% building modules 22/25 modules 3 active ...dules\_vue@2.6.12@vue\dist\vue.e 12% building modules 23/25 modules 2 active ...dules\_vue@2.6.12@vue\dist\vue.e 12% building modules 24/25 modules 1 active ...dules\_vue@2.6.12@vue\dist\vue.e 13% building modules 25/26 modules 1 active ...orkspace\vue\xxx-client\src\Ap 13% building modules 25/27 modules 2 active ...4.0@html-entities\lib\xml-entiti 13% building modules 25/28 modules 3 active ...0@html-entities\lib\html4-entiti 13% building modules 25/29 modules 4 active ...0@html-entities\lib\html5-entiti 13% building modules 26/29 modules 3 active ...0@html-entities\lib\html5-entiti 13% building modules 27/29 modules 2 active ...0@html-entities\lib\html5-entiti 13% building modules 28/29 modules 1 active ...0@html-entities\lib\html5-entiti 13% building modules 29/30 modules 1 active ...@html-entities\lib\surrogate-pai 13% building modules 29/31 modules 2 active ...orkspace\vue\xxx-client\src\Ap 13% building modules 30/31 modules 1 active ...@html-entities\lib\surrogate-pai 13% building modules 30/32 modules 2 active ...ue-loader\lib\component-normaliz 13% building modules 30/33 modules 3 active ...orkspace\vue\xxx-client\src\App.vue{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.13% building modules 31/33 modules 2 active ...ue-loader\lib\component-normaliz 13% building modules 31/34 modules 3 active ..._ansi-regex@2.1.1@ansi-regex\ind 13% building modules 32/34 modules 2 active ..._ansi-regex@2.1.1@ansi-regex\ind 13% building modules 33/34 modules 1 active ..._ansi-regex@2.1.1@ansi-regex\ind 14% building modules 34/35 modules 1 active ...orkspace\vue\xxx-client\src\Ap 14% building modules 35/36 modules 1 active ...orkspace\vue\xxx-client\src\Ap 14% building modules 35/37 modules 2 active ....3.4@vue-hot-reload-api\dist\ind 14% building modules 35/38 modules 3 active ...e-style-loader\lib\addStylesClie 14% building modules 36/38 modules 2 active ...e-style-loader\lib\addStylesClie 14% building modules 37/38 modules 1 active ...orkspace\vue\xxx-client\src\Ap 14% building modules 37/39 modules 2 active ...@vue-style-loader\lib\listToStyl 14% building modules 38/39 modules 1 active ...orkspace\vue\xxx-client\src\Ap 14% building modules 39/40 modules 1 active ...er@0.28.11@css-loader\lib\css-ba 95% emitting WARNING  Compiled with 1 warnings上午6:27:53✘  http://eslint.org/docs/rules/no-new                   Do not use 'new' for side effectssrc\main.js:7:1new Vue({^✘  http://eslint.org/docs/rules/no-multiple-empty-lines  Too many blank lines at the end of file. Max of 0 allowedsrc\main.js:11:1^✘ 2 problems (2 errors, 0 warnings)Errors:1  http://eslint.org/docs/rules/no-new1  http://eslint.org/docs/rules/no-multiple-empty-linesYou may use special comments to disable some warnings.
Use // eslint-disable-next-line to ignore the next line.
Use /* eslint-disable */ to ignore all warnings in a file.

现在虽然没有通过 eslint 检查,但是项目已经可以正常跑起来了。

如果想要解决这个问题,可以参考我的这篇博文:

Do not use ‘new‘ for side effects的五种解决方法

Vue——Module build failed: TypeError: loaderContext.getResolve is not a function错误解决相关推荐

  1. 安装scss后报错Module build failed: TypeError: loaderContext.getResolve is not a function解决方法

    scss安装后,报如下错误: Module build failed: TypeError: loaderContext.getResolve is not a functionat getWebpa ...

  2. Vue项目 Module build failed: TypeError: this.getResolve is not a function at Object.loader……

    由于还用不惯 webpack 4,特别是采用了vue-cli3 搭建的项目,由于还没搞懂在这种环境中自己手动调整配置(vue-cli3 简化了配置,原来很多的配置都集成到vue-cli3内部,不需要在 ...

  3. 安装node-sass运行报错 Module build failed: TypeError: this.getResolve is not a function at Object.loader

    在搭建vue脚手架 或者是在vue项目中,想使用sass的功能, npm install node-sass --save-dev //安装node-sass npm install sass-loa ...

  4. VUE Module build failed: TypeError: this.getOptions is not a function at Object.loader 解决办法

    背景:在VUE中安装了 npm install node-sass sass-loader --save-dev,然后启动就报错了,看提示是因为依赖的问题 查了一下 node-sass sass-lo ...

  5. Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader

    错误原因:这是因为当前sass的版本太高,webpack编译时出现了错误,只需要换成低版本的就行. 找到package.json文件,里面的 "sass-loader"的版本更换掉 ...

  6. Module build failed: TypeError: this.getOptions is not a function at Object.loader

    问题描述 测试webpack相关功能时出现这个Module build failed: TypeError: this.getOptions is not a function at Object.l ...

  7. Module build failed: TypeError: Cannot read property 'vue' of undefined

    2019独角兽企业重金招聘Python工程师标准>>> 在使用VUE CLI 3.x开发项目,一启动就报一下错误: Module build failed: TypeError: C ...

  8. vue启动报错!Module build failed: Error: Missing binding D:\WorkSpace\vue\OfficeSuite\OfficeFrontend\node

    报错信息如下: This usually happens because your environment has changed since running `npm install`. Run ` ...

  9. Module build failed (from ./node_modules/less-loader/dist/cjs.js):TypeError: this.getOptions is not

    (./node_modules/css-loader/dist/cjs.js??ref–11-oneOf-1-1!./node_modules/vue-loader/lib/loaders/style ...

  10. vue项目报错,解决Module build failed: Error: Cannot find module ‘node-sass‘ 问题

    vue项目报错,解决Module build failed: Error: Cannot find module 'node-sass' 问题 参考文章: (1)vue项目报错,解决Module bu ...

最新文章

  1. 超级智能的定义,一个已经诞生并不断深刻影响人类的新智能
  2. docker 安装入门
  3. 域名服务商GoDaddy第四季度扭亏为盈
  4. maven 报错一站式解决方案
  5. 一线城市BAT名企软件测试职位解析,有什么样的技术要求?
  6. 2017.05.12_SAP特殊功能
  7. 第四季-专题18-FLASH驱动程序设计
  8. 怎样用计算机绘制幂函数图像,几何画板如何画幂函数的图像
  9. WhereHows 数据发现和管理工具
  10. 易语言64位进程注入DLL
  11. netbean 快捷键
  12. 抢走Salesforce大客户,国产CRM靠的不是运气
  13. 【Arduino IDE 2.0他来了】
  14. css——样式化区块——背景
  15. 【font-spider】网页中引用字体文件过大的解决办法,网页字体文件压缩
  16. 上山的路上,总得给自己一点阳光。
  17. CAD第一堂课:面板介绍(上)
  18. 汇总-13台虚拟机搭建一个高可用负载均衡集群架构
  19. 多旋翼飞行器设计与控制(三):机架设计
  20. java获取计算机cpu利用率和内存使用信息

热门文章

  1. perfect forward secrecy
  2. 加州房价篇 (三) : 模型的训练,评估和房价的预测
  3. 美团套餐榜、商家榜数据抓取
  4. 快手短视频怎么同步到头条?
  5. 【最新Unity3D—Particle System粒子系统】最新Unity2017.2018.2019.2020均适用且超详细
  6. 关于Bmob后端云的使用
  7. 2019杭电多校第六场Snowy Smile HDU-6638
  8. Selenium元素定位方法总结
  9. Golang源码探索----GC的实现原理(3)
  10. 修改游戏存档之植物大战僵尸