npm install pug-html-loader
In your sources:
var html = require('./file.pug')
// => returns file.pug content as html compiled string
In your webpack.config.js file:
module.exports = {
// your config settings ...
rules: [{
// your modules...
loaders: [{
include: /\.pug/,
loader: ['raw-loader', 'pug-html-loader'],
options: {
// options to pass to the compiler same as: https://pugjs.org/api/reference.html
data: {} // set of data to pass to the pug render.
}
}]
}]
};
pug-html-loader
encode to content to a string variable to avoid it and pass the string content to the loader chain please use the following configuration:
module.exports = {
// your config settings ...
module: [{
// your modules...
rules: [{
test: /\.pug/,
loaders: ['html-loader', 'pug-html-loader'],
options: {
// options to pass to the compiler same as: https://pugjs.org/api/reference.html
data: {} // set of data to pass to the pug render.
}
}]
}]
};
Don't forget to polyfill require
if you want to use it in node.
See webpack
documentation.