webpack error in Cannot find module 'less'

為{幸葍}努か 提交于 2019-12-20 10:24:24

问题


I'm trying to use less loader in webpack and the issues is - I've installed less loader locally, but when I try to compile everything using webpack command in bask, it prints out: "ERROR in Cannot find module 'less'". In my entry point I require some less file like

require("./less_components/style.less");

Here is my webpack.config file

module.exports = {

entry: "./entry.js",

output: {

    path: "./build",

    filename: "./bundle.js"

},

module: {

    loaders: [

        {test: /\.js$/, exlude: /node_modules/, loader: "babel-loader"},

        {test: /\.less$/, loader: "style!css!less"}

    ]
}
}

What's the matter and how I should fix it?


回答1:


It sounds like you haven't installed the less-loader into your node_modules. Installing it would fix this.

npm install less-loader --save-dev

Edit: Also you will get this error when you haven't installed the css-loader and style-loader that you are chaining less-loader to.

Anyone who comes across this can plus on the issue I submitted for the bad message. "Error in Cannot find module 'less'" when missing loaders chained after less. Revise error message.




回答2:


This error happens because npm@3 does not resolve peerDependencies any more.

npm install less less-loader is the way to go.




回答3:


I had the same issue. ERROR in Cannot find module 'less'

├── UNMET PEER DEPENDENCY file-loader@*
├── UNMET PEER DEPENDENCY less@^2.3.1
├── webpack@1.13.2 
└── webpack-dev-server@1.16.2 
npm WARN EPEERINVALID less-loader@2.2.3 requires a peer of less@^2.3.1 
but none was installed.
npm WARN EPEERINVALID url-loader@0.5.7 requires a peer of file-loader@* 
but none was installed.

I tried as follows:

npm install --save-dev less
npm install --save-dev file-loader

Then it solved the issues.




回答4:


I had the same issue with a .Net Core project. I resolved this by adding less to my package.json file as well as less-loader.

"less-loader": "2.2.3",
"less": "2.7.2"



回答5:


In my case I already had less-loader, style-loader and css-loader still it was giving same error. When I installed less then it fixed. So make sure you install less also. npm install less --save-dev fixed my problem.




回答6:


@Zhorian yours works awesome, I cannot vote cuz of the low level and neither add comment on your answer! after doing npm install less --save-dev, it works, for the error:

Module build failed: Error: Cannot find module 'less'

and when you try to install:

npm install less-loader style-loader css-loader --save-dev

It will gave you:

├── css-loader@0.26.1
├── UNMET PEER DEPENDENCY less@^2.3.1
├── less-loader@2.2.3
└── style-loader@0.13.1



回答7:


the error message described the problem well: missing 'less' module.

npm install less --save-dev will solve it.

Most of the time you should have all of less/less-loader/css-loader/style-loader.

npm install style-loader css-loader less-loader less --save-dev



来源:https://stackoverflow.com/questions/36781031/webpack-error-in-cannot-find-module-less

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!