我正在尝试使用 webpack看起来.pug
非常基本的东西:使用 Javascript 包含和.scss
文件,import
并让编译导出相应的.html
and.css
和extract-loader
and file-loader
。
为了便于重现/演示,我在这里创建了一个仓库:https ://github.com/brianmhunt/broken--pug-loader
最小的 webpack 配置非常简单,即:
const path = require('path')
module.exports = {
output: { filename: 'app.js' },
entry: path.join(__dirname, 'index.js'),
module: {
rules: [
{
test: /\.pug$/,
use: [
{ loader: 'file-loader', options: { name: 'index.html' } },
'extract-loader',
'html-loader',
'pug-html-loader'
] },
{
test: /\.scss$/,
use: [
{ loader: 'file-loader', options: { name: 'main.css' } },
'extract-loader',
'css-loader',
'sass-loader'
] }
]
},
}
这些文件设置/包含为:
entry: index.js
import 'one.pug'
import three.pug
import 'two.pug'
import 'abc.scss'
@import 'ghi.scss'
import 'def.scss'
只有来自one.pug
和three.pug
结束的内容index.html
,并且只有abc
和ghi
,css
所以看起来第二个文件被extract-loader
.
在其他选项中,我尝试了,concat-loader
但我的实验没有产生任何有用的结果。
要复制问题:
$ git clone git@github.com:brianmhunt/broken--pug-loader.git
$ yarn install
$ yarn run webpack --mode=production