1

我对 Pug 和 Webpack 2 有疑问。我需要编译并包含另一个由函数传递的文件。

//- index.jade
//- I'm using bemto
mixin foo()
  //- simplified example
  - var blockName = 'some-block'
  +b.some-block
    != getBlock(blockName)
    //- same bad result
    //- != htmlWebpackPlugin.options.getBlock(blockName)
+foo()

//- some-block.pug
+e.element Some text

// webpack.config.js
use: [
  'html-loader', // without it shows an error
  {
    loader: "pug-html-loader",
    options: {
      data: {
        getBlock: function(blockName) {
          return fs.readFileSync(`${blockName}.pug`, { encoding: 'utf8' });
        },
      }
    }
  }
]
new HtmlWebpackPlugin({
  filename: index.html,
  template: index.pug,
  // same bad result
  // getBlock: function(blockName) {
  // return fs.readFileSync(`${blockName}.pug`, { encoding: 'utf8' });
  // },
})

我得到什么:

// index.html
<div class="some-block">+e.element Some text</div>

我需要的 :

// index.html
<div class="some-block">
  <div class="some-block__element">Some text</div>
</div>

这可能吗?如果您能提供帮助,我将不胜感激。

4

0 回答 0