Во-первых, пожалуйста, прости меня за то, что я новичок, и дай мне знать, что я могу улучшить, чтобы получить помощь здесь.
ТЛ: д-р; Все работает, как и ожидалось, кроме функциональности pug extends / block. Тот же контент может быть успешно импортирован с помощью include, но как только вызов изменяется на блок, частичное больше не регистрируется в CLI веб-пакета (извините за недостаток знания жаргона здесь), и контент не отображается на странице.
Это тот случай, если частичное находится в том же каталоге или в дочернем каталоге index.pug. Я бы предпочел использовать дочерний каталог, поэтому я отформатировал пример ниже.
Хорошо, так что ...
У меня есть структура папок:
webpackConfig.js (выдержка)
module.exports = {
entry: {
app: path.resolve(__dirname, 'src', 'index.js'),
},
plugins: [
new CleanWebpackPlugin(['dist']),
new HtmlWebpackPlugin({
filename: 'index.html',
title: 'Site',
template: 'src/html/index.pug',
inject: true
}),
new webpack.HotModuleReplacementPlugin(),
new MiniCssExtractPlugin({
filename: devMode ? '[name].css' : '[name].[hash].css',
chunkFilename: devMode ? '[id].css' : '[id].[hash].css',
}),
],
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].bundle.js'
},
module {
rules: [{
test: /\.pug$/,
use: [{
loader: 'pug-loader',
options: {
pretty: true,
// root: path.resolve(__dirname, 'src/html')
}
}]
}]
}
index.pug
include partials/header
block some-partial
обертоны / некоторые-partial.pug
extends /../../index.pug
block some-partial
p I'm some text.
* Обратите внимание: я пробовал несколько версий формата каталога index.pug, оба с some-part.pug в одном и том же каталоге и дочернем, но безрезультатно.
Я в тупике. Все, что я читал в Интернете, говорит, что это должно просто ... работать. И когда все остальные функции работают как задумано, я немного растерялся.
У меня были проблемы с относительными путями при импорте изображений / локальных шрифтов, поэтому я подумал, что это как-то связано с тем, как файл Pug видит дерево каталогов? (Если это имеет смысл) Но тогда почему «включить» все еще работает?
Любая помощь / подсказки высоко ценится!