silki
Version:
Cli tool for build react app, based on generator-react-multipage, create-react-app, roadhog. Support react multiple pages app develop.
42 lines (36 loc) • 1.14 kB
JavaScript
;
var _paths = require('./paths');
var _paths2 = _interopRequireDefault(_paths);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var HtmlWebpackPlugin = require('html-webpack-plugin');
function generateHtmls(entry) {
var chunks = Object.keys(entry);
var paths = (0, _paths2.default)(process.cwd());
var appSrc = paths.appSrc;
var template = process.env.NODE_ENV === 'production' ? appSrc + '/template-dist.html' : appSrc + '/template-dev.html';
var plugins = [];
// 生成HTML文件
chunks.forEach(function (pathname) {
if (pathname === 'vendor' || pathname === 'mock') {
return;
}
var name = pathname.split('/')[0];
var conf = {
title: name,
filename: name + '.html',
template: template,
inject: 'body',
minify: {
removeComments: true,
collapseWhitespace: false
}
};
if (pathname in entry) {
conf.chunks = ['mock', 'vendor', pathname];
conf.hash = false;
}
plugins.push(new HtmlWebpackPlugin(conf));
});
return plugins;
}
module.exports = generateHtmls;