-
Notifications
You must be signed in to change notification settings - Fork 29
Loading HTML
Webpack allows you to load HTML like you load any other code. This allows you to do things like require images or vector graphics in your templates, pre-process them using the templating language of your choice like jade or handlebars, and optimize the loading and reuse of templates by template caching.
Loading HTML requires the html-loader, which will parse the HTML and return it as a function with an html string value of your template. You can use that function in places that take an html string, like template
or in a $compile
.
Install the loader: npm install html-loader --save-dev
.
In the webpack.config.js file you can add the following loader configuration:
webpack.config.js
var path = require('path');
var config = {
entry: path.resolve(__dirname, '../app/main.js')
output: {
path: path.resolve(__dirname, '../build'),
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.html$/, // Only .html files
loader: 'html' // Run html loader
}
]
}
};
module.exports = config;
Loading an HTML file is a simple as loading any file:
main.js
import './main.html';
// Other code
component.js
import './component.html';
import myComponent from './myComponent.js';
angular
.module('myDirectives', [])
.directives('myComponent', myComponent);
Note! You can of course do this with both CommonJS and AMD.