slim-lang-loader
slim-lang-loader copied to clipboard
Webpack loader: slim => html => javascript
slim-lang-loader
This is a webpack loader to transform slim files into HTML, and then load that HTML into Javascript. This is "true blue" slim, using the ruby program's CLI executable.
The resulting HTML does not have any boiler added - it can be full HTML documents or just partials / fragments.
The code here is a modified version of coffee-loader.
howto
-
Make sure the
slimgem is installed and there is aslimrbexecutable available. -
Install this into your project:
npm install --save slim-lang-loader(oryarn add -D slim-lang-loader) -
Add hook to
webpack.config.js(make sure to put this above any loader that expects javascript or coffeescript input):{test: /\.slim$/, loader: ['slim-lang-loader']},Also, add
.slimto the list of extensions:resolve: { extensions: ['.js", <etc>, ".slim"] }, -
load templates from javascript:
var file = require("html-loader!./test.slim"); alert(file); // this will be a html string that auto-reloads
slim options
You can pass Slim options to slimrb using following syntax:
loader: [
{
loader: 'slim-lang-loader',
options: {
slimOptions: {
'disable_escape': true
}
}
}
]