1.5.0 • Published 7 years ago
marko-loader v1.5.0
marko-loader
A marko template loader for webpack.
Installation
Install required packages:
npm install marko --save
npm install marko-loader --save-devAnd then register the marko loader in your webpack configuration file:
webpack.config.js:
module.exports = {
// ...
module: {
rules: [{
test: /\.marko$/,
loader: "marko-loader"
}]
}
};Usage
With this loader installed, you can then require ./template.marko files as shown below:
./template.marko:
<div>
<h1>Hello ${data.name}!</h1>
</div>./index.js:
var template = require('./template.marko')
var html = template.renderToString({ name: 'Frank' });Compilation target
marko-loader will automatically detect your webpack target and output the appropriately compiled Marko code.
If you wish to override this behaviour simply add the target field in the options for this loader.
Hydrate & dependencies for server-rendered pages
When rendering a Marko template serverside, only components that can re-render need their full template in the browser. This loader supports only loading the needed parts to hydrate with two options:
?dependenciesincludes only the dependencies that are needed in the browser (css, dynamic components)?hydrateincludes these dependencies and also kicks off hydration & component initialization
webpack.config.js:
module.exports = {
entry: "./path/to/page.marko?hydrate",
/* ... */
}Additional resources
- Sample app: marko-webpack
License
MIT