安装了 npm install --save-dev less-loader style-loader less
警告
npm WARN ajv-keywords@2.1.1 requires a peer of ajv@^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN less-loader@7.1.0 requires a peer of webpack@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN style-loader@2.0.0 requires a peer of webpack@^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.
然后运行 myvue npm run dev 直接报错
> myvue@1.0.0 dev /Users/log/Desktop/vue/myvue
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
13% building modules 28/31 modules 3 active ...ers/log/Desktop/vue/myvue/src/App.vue{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.
14% building modules 41/44 modules 3 active .../vue/myvue/src/components/layouts.vue(node:59865) UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function
at createWebpackLessPlugin (/Users/log/Desktop/vue/myvue/node_modules/less-loader/dist/utils.js:36:33)
at getLessOptions (/Users/log/Desktop/vue/myvue/node_modules/less-loader/dist/utils.js:153:33)
at Object.lessLoader (/Users/log/Desktop/vue/myvue/node_modules/less-loader/dist/index.js:31:49)
at LOADER_EXECUTION (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
at runSyncOrAsync (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
at iterateNormalLoaders (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at iterateNormalLoaders (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at Object.context.callback (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at Object.module.exports (/Users/log/Desktop/vue/myvue/node_modules/vue-loader/lib/selector.js:21:8)
at LOADER_EXECUTION (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:119:14)
at runSyncOrAsync (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:120:4)
at iterateNormalLoaders (/Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at /Users/log/Desktop/vue/myvue/node_modules/loader-runner/lib/LoaderRunner.js:205:4
at /Users/log/Desktop/vue/myvue/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:70:14
at processTicksAndRejections (internal/process/task_queues.js:75:11)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:59865) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:59865) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
15% building modules 46/47 modules 1 active .../vue/myvue/src/components/layouts.vue^C%
解决办法
先卸载
npm uninstall less-loader
然后重新安装对应的版本
npm install less-loader@5.0.0 -D