Closed sresant closed 4 years ago
@sresant did you ever resolve this? I'm having the same issue.
Looks like createWebpackLessPlugin
is looking for loadModule
function on loaderContext
, but it doesn't exist. I only see this error when using thread-loader
along with webpack's resolver for less-loader
. Seems there is a conditional that checks for less-loader
's paths
option and if it's defined, it doesn't hit the problematic code.
I can create a simple repo that shows the issue if it would help get it solved.
For now, the only workaround I've found is to use less
's resolver.
I can't remember if I was able to resolve this, we ended up just sticking with happy-pack.
@jgraniero's workaround with using paths
option works well for us. No need to switching anywhere in that case, thread-loader works fine then.
same question.
same question.
add path option to the less-loader ,like this:
{ loader: 'less-loader', options: { paths: [ path.resolve(__dirname, "node_modules") ] } }
@jgraniero's workaround with using
paths
option works well for us. No need to switching anywhere in that case, thread-loader works fine then.
but there leads new problem : in a less file, i import other less file , when run webpack, error shows: @import '~antd/lib/style/.default.less' is not found I try many methods , but all fail. I do not know how to do
Since less-loader released 6.0.0, thread-loader is now completely incompatible, because options.paths
has moved to lessOptions.paths
, and trying to use options.paths
results in a compile error.
@jgraniero's workaround with using
paths
option works well for us. No need to switching anywhere in that case, thread-loader works fine then.but there leads new problem : in a less file, i import other less file , when run webpack, error shows: @import '~antd/lib/style/.default.less' is not found I try many methods , but all fail. I do not know how to do
me too
@jgraniero的使用
paths
选项的解决方法对我们来说效果很好。在这种情况下,无需切换到任何地方,线程加载器就可以正常工作。但导致新的问题: 在一个较小的文件,我导入其他文件少,运行时的WebPack,错误显示: @import “〜antd / lib目录/风格/ .default.less”没有找到 我尝试了很多方法,但都失败。我不知道该怎么办
我也是
同样的错误
Please update less-loader
to latest stable version, feel free to open new issue if you still faced with bug
@alexander-akait
****/node_modules/less-loader/dist/index.js:43
const logger = this.getLogger("less-loader");
^
TypeError: this.getLogger is not a function
at Object.lessLoader (***/node_modules/less-loader/dist/index.js:43:23)
at LOADER_EXECUTION (***/node_modules/loader-runner/lib/LoaderRunner.js:132:14)
at runSyncOrAsync (***/node_modules/loader-runner/lib/LoaderRunner.js:133:4)
at iterateNormalLoaders (***/node_modules/loader-runner/lib/LoaderRunner.js:250:2)
at ***/node_modules/loader-runner/lib/LoaderRunner.js:223:4
at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3)
***/node_modules/less-loader/dist/index.js:43
webpack config
{
"test": /\.mless$/,
"use": [{
"loader": "thread-loader"
}, {
"loader": "css-loader",
"options": {
"modules": true
}
}, {
"loader": "less-loader",
"options": {
"lessOptions": {
"javascriptEnabled": true
}
}
}]
}, {
"test": /\.less$/,
"use": [{
"loader": "thread-loader"
}, {
"loader": "css-loader"
}, {
"loader": "less-loader",
"options": {
"lessOptions": {
"javascriptEnabled": true
}
}
}]
}
There seems to be no way to get the webpack context
@alexander-akait
- "less": "^4.1.2",
- "less-loader": "^10.2.0",
- "thread-loader": "^3.0.4"
****/node_modules/less-loader/dist/index.js:43 const logger = this.getLogger("less-loader"); ^ TypeError: this.getLogger is not a function at Object.lessLoader (***/node_modules/less-loader/dist/index.js:43:23) at LOADER_EXECUTION (***/node_modules/loader-runner/lib/LoaderRunner.js:132:14) at runSyncOrAsync (***/node_modules/loader-runner/lib/LoaderRunner.js:133:4) at iterateNormalLoaders (***/node_modules/loader-runner/lib/LoaderRunner.js:250:2) at ***/node_modules/loader-runner/lib/LoaderRunner.js:223:4 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) ***/node_modules/less-loader/dist/index.js:43
webpack config
{ "test": /\.mless$/, "use": [{ "loader": "thread-loader" }, { "loader": "css-loader", "options": { "modules": true } }, { "loader": "less-loader", "options": { "lessOptions": { "javascriptEnabled": true } } }] }, { "test": /\.less$/, "use": [{ "loader": "thread-loader" }, { "loader": "css-loader" }, { "loader": "less-loader", "options": { "lessOptions": { "javascriptEnabled": true } } }] }
There seems to be no way to get the webpack context
same question.
I'm experiencing the same. This would have been very helpful. Hopefully https://github.com/webpack-contrib/thread-loader/pull/130 lands soon
@alexander-akait
- "less": "^4.1.2",
- "less-loader": "^10.2.0",
- "thread-loader": "^3.0.4"
****/node_modules/less-loader/dist/index.js:43 const logger = this.getLogger("less-loader"); ^ TypeError: this.getLogger is not a function at Object.lessLoader (***/node_modules/less-loader/dist/index.js:43:23) at LOADER_EXECUTION (***/node_modules/loader-runner/lib/LoaderRunner.js:132:14) at runSyncOrAsync (***/node_modules/loader-runner/lib/LoaderRunner.js:133:4) at iterateNormalLoaders (***/node_modules/loader-runner/lib/LoaderRunner.js:250:2) at ***/node_modules/loader-runner/lib/LoaderRunner.js:223:4 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) ***/node_modules/less-loader/dist/index.js:43
webpack config
{ "test": /\.mless$/, "use": [{ "loader": "thread-loader" }, { "loader": "css-loader", "options": { "modules": true } }, { "loader": "less-loader", "options": { "lessOptions": { "javascriptEnabled": true } } }] }, { "test": /\.less$/, "use": [{ "loader": "thread-loader" }, { "loader": "css-loader" }, { "loader": "less-loader", "options": { "lessOptions": { "javascriptEnabled": true } } }] }
There seems to be no way to get the webpack context
same question.
"less": "^4.1.3", "less-loader": "^11.0.0", "thread-loader": "4.0.2",
Same question , May we restart this issue ?
@KyrieLii we need to improve API for this https://github.com/webpack-contrib/thread-loader/blob/master/src/worker.js#L125, do you want to open a new issue or send a PR?
@KyrieLii we need to improve API for this https://github.com/webpack-contrib/thread-loader/blob/master/src/worker.js#L125, do you want to open a new issue or send a PR?
@alexander-akait Thanks for your reply, I create a new one https://github.com/webpack-contrib/thread-loader/issues/185.
Are there any known issues with less loader and the thread loader?
I am getting the following error:
Module build failed: TypeError: Cannot read property 'bind' of undefined
at createWebpackLessPlugin (/Users/sresan.thevarajah/code/main/node_modules/less-loader/dist/createWebpackLessPlugin.js:37:49)
at getOptions (/Users/sresan.thevarajah/code/main/node_modules/less-loader/dist/getOptions.js:25:26)
at Object.lessLoader (/Users/sresan.thevarajah/code/main/node_modules/less-loader/dist/index.js:32:42)
What is undefined is the loadModule property.
My usage looks like ExtractTextPlugin.extract({fallback: "style-loader", use: [{loader: "thread-loader" option: { name: "less"}}, "css-loader", "less-loader"]})
I am using two instances of extract text plugin as well.