Webpack 在网页包中使用较少的插件glob
我正在尝试将现有项目的构建系统从Webpack 在网页包中使用较少的插件glob,webpack,webpack-2,Webpack,Webpack 2,我正在尝试将现有项目的构建系统从gulp迁移到webpack 它目前有一个单一的入口点.less文件,可导入其他各种文件,如下所示: @import 'bower_components/bootstrap/less/bootstrap.less'; @import 'components/**/*.less'; 这将写出一个css文件,其中包含找到的所有.less文件。它用于允许全局 在Webpack中,我尝试使用less loader、css loader和style loader的组合来实
gulp
迁移到webpack
它目前有一个单一的入口点.less文件,可导入其他各种文件,如下所示:
@import 'bower_components/bootstrap/less/bootstrap.less';
@import 'components/**/*.less';
这将写出一个css文件,其中包含找到的所有.less文件。它用于允许全局
在Webpack中,我尝试使用less loader
、css loader
和style loader
的组合来实现同样的效果。我的网页配置的模块部分如下所示:
var lessPluginGlob = require('less-plugin-glob');
...
{
test: /\.less$/,
use: [
'style-loader',
{ loader: 'css-loader', options: { importLoaders: 1 } },
{ loader: 'less-loader', options: { lessPlugins: [lessPluginGlob] }}
]
},
...
{
loader: 'less-loader',
options: {
paths: [
path.resolve(path.join(__dirname, 'app'))
],
plugins: [
require('less-plugin-glob')
]
}
}
我试图要求我的“输入”较少的文件,如下所示:
require('./app.less');
但无论我做什么,我都会得到:
ERROR in ./~/css-loader?{"importLoaders":1}!./~/less-loader?{"lessPlugins":[{}]}!./app/app.less
Module build failed: Can't resolve './components/**/*.less' in '/Users/matt/web-app/app'
有人能给我指一下正确的方向吗?我让它这样工作:
var lessPluginGlob = require('less-plugin-glob');
...
{
test: /\.less$/,
use: [
'style-loader',
{ loader: 'css-loader', options: { importLoaders: 1 } },
{ loader: 'less-loader', options: { lessPlugins: [lessPluginGlob] }}
]
},
...
{
loader: 'less-loader',
options: {
paths: [
path.resolve(path.join(__dirname, 'app'))
],
plugins: [
require('less-plugin-glob')
]
}
}
查看源代码:
我不知道这是否是有意的行为,但如果在less plugin glob
plugin之前没有指定path
。它抛出了一个错误,因为CreateWebPackagesPlugin
对下一个插件一无所知
因此,我的解决方案就是简单地指定路径
,以减少首先执行的插件glob
工作示例:嘿,我也有同样的问题。到目前为止,你找到解决办法了吗?恐怕没有@Semih Gk.-最后,我只是列出了文件,我想我会稍后再看…谢谢@Math Wilson。嗯,到目前为止我还没有找到一个好的解决办法,但至少我找到了一个办法。你可以考虑,除非你找到更好的。我把它贴在我的问题下面。这对我来说是可行的,但是我在glob中包含的任何文件似乎都没有被webpack看到(修改不会触发webpack重新编译)。这里注意到了watcher问题,你可以使用这个插件作为临时解决方法。