A webpack loader to transform pug files into HTML.
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.