Используя Pug 2 и Webpack 4, «include» корректно импортирует контент, но «extends / block» не выдает контента или ошибок - PullRequest
0 голосов
/ 04 января 2019

Во-первых, пожалуйста, прости меня за то, что я новичок, и дай мне знать, что я могу улучшить, чтобы получить помощь здесь.

ТЛ: д-р; Все работает, как и ожидалось, кроме функциональности pug extends / block. Тот же контент может быть успешно импортирован с помощью include, но как только вызов изменяется на блок, частичное больше не регистрируется в CLI веб-пакета (извините за недостаток знания жаргона здесь), и контент не отображается на странице.

Это тот случай, если частичное находится в том же каталоге или в дочернем каталоге index.pug. Я бы предпочел использовать дочерний каталог, поэтому я отформатировал пример ниже.

Хорошо, так что ...

У меня есть структура папок:

  • ЦСИ
    • webpackConfig.js
    • HTML
      • index.pug
      • обертоны
        • некоторые-partial.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 видит дерево каталогов? (Если это имеет смысл) Но тогда почему «включить» все еще работает?

Любая помощь / подсказки высоко ценится!

...