leshiple leshiple - 4 months ago 134
Jade Question

How to pass variable from jade-loader to a jade template file?

I want to pass my data-object to jade files, but but it is impossible
My

jade-loader
:

{
test: /\.jade$/,
loader: "jade",
query: {
pretty: true,
locals: {
name: "Georg"
}
}


}

plugins
:

plugins: [
new HtmlWebpackPlugin({
filename: "index.html",
template: "./src/jade/index.jade"
})]


index.jade
:

span=locals.name


I run webpack and I get this
index.html
:

<span></span>


My variable
name
don't pass. Why? How to fix it?

Roy Roy
Answer

you should use pug-html-loader

then in webpack.config.js

  ...
  {
    test:/\.pug$/,
    exclude: ['/node_modules/'],
    loader: 'pug-html-loader',
    query: {
      data: {name:'test'},
      pretty: true
    }
  },
  ...

then in your pug(jade) files, use this data

 h3.title= data.name