目录结构如下图所示:
webpack打包代码如下:
var webpack = require('webpack');
var fs = require('fs');
var path = require('path');
var fse = require('fs-extra');
const debug = process.env.NODE_ENV !== 'production';
function entries(jsPath) {
var dirnames = fs.readdirSync(jsPath);
var entries = {}, entry;
for (var i = 0; i < dirnames.length; i++) {
var dirname, basename;
var jsList = [];
dirname = dirnames[i];
var files = fs.readdirSync(jsPath + '/' + dirname);
for (var j = 0; j < files.length; j++) {
entry = files[j];
basename = path.basename(entry, '.js');
jsList.push(path.join(jsPath, dirname, entry));
}
entries[path.join(dirname, 'app')] = jsList;
}
return entries;
}
var option = {
entry: entries(__dirname + '/js/src'),
output: {
path: __dirname + '/dist/',
filename: '[name].js'
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
}
var compiler = webpack(option);
compiler.run(function() {
fse.copy( __dirname + '/page/', __dirname + '/dist/');
console.log('success');
});