Package Exports
- @neutrinojs/html-template
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@neutrinojs/html-template) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Neutrino HTML Template Middleware
@neutrinojs/html-template is Neutrino middleware for automatically creating
HTML files for configured entry points.
Requirements
- Node.js 10+
- Yarn v1.2.1+, or npm v5.4+
- Neutrino 9
- webpack 4
Installation
@neutrinojs/html-template can be installed via the Yarn or npm clients.
Yarn
❯ yarn add --dev @neutrinojs/html-templatenpm
❯ npm install --save-dev @neutrinojs/html-templateUsage
@neutrinojs/html-template can be consumed from the Neutrino API, middleware,
or presets. Require this package and plug it into Neutrino:
const htmlTemplate = require('@neutrinojs/html-template');
// Usage shows default values
// Accepts options specified by html-webpack-plugin:
// https://github.com/jantimon/html-webpack-plugin#configuration
neutrino.use(
htmlTemplate({
// @neutrinojs/html-template includes a custom template that has more features
// (eg appMountId and lang support) than the default html-webpack-plugin template:
// https://github.com/jantimon/html-webpack-plugin/blob/master/default_index.ejs
template: require.resolve('@neutrinojs/html-template/template.ejs'),
appMountId: 'root',
lang: 'en',
meta: {
viewport: 'width=device-width, initial-scale=1',
},
// Override pluginId to add an additional html-template plugin instance
pluginId: 'html',
}),
);
// Most commonly, you will want to override the initial page title:
neutrino.use(
htmlTemplate({
title: 'React Application',
}),
);// Using in .neutrinorc.js
const htmlTemplate = require('@neutrinojs/html-template');
// Usage shows default values
// Accepts options specified by html-webpack-plugin:
// https://github.com/jantimon/html-webpack-plugin#configuration
module.exports = {
use: [
htmlTemplate({
// @neutrinojs/html-template includes a custom template that has more features
// (eg appMountId and lang support) than the default html-webpack-plugin template:
// https://github.com/jantimon/html-webpack-plugin/blob/master/default_index.ejs
template: require.resolve('@neutrinojs/html-template/template.ejs'),
appMountId: 'root',
lang: 'en',
meta: {
viewport: 'width=device-width, initial-scale=1',
},
// Override pluginId to add an additional html-template plugin instance
pluginId: 'html',
}),
],
};
// Most commonly, you will want to override the initial page title:
module.exports = {
use: [
htmlTemplate({
title: 'React Application',
}),
],
};Customization
@neutrinojs/html-template creates some conventions to make overriding the
configuration easier once you are ready to make changes.
Plugins
The following is a list of plugins and their identifiers which can be overridden:
| Name | Description | NODE_ENV |
|---|---|---|
html |
Automatically generates HTML files for configured entry points. | all |
Contributing
This middleware is part of the neutrino repository, a monorepo containing all resources for developing Neutrino and its core presets and middleware. Follow the contributing guide for details.