不同的环境配置,不一定要使用 webpack 全部功能,如我采用 sublime text 本地编译 less ,所以只需要对JS进行合并即可,由此产生了本次配置
{
"name": "MPA",
"version": "1.0.0",
"description": "Webpack Uglify Javascripts",
"main": "index.js",
"author": "arttanzl",
"license": "ISC",
"devDependencies": {
"file-loader": "^0.8.5",
"webpack": "^1.12.14"
}
}
var path = require('path');
var fs = require('fs');
var webpack = require('webpack');
// 所有需要处理的入口JS所在的文件夹
var entryPath = './static/js/';
var outputPath = './static/script/';
// 获取需要处理的所有入口文件
var entries = function() {
var entry = {};
getEntry(entryPath, function(list) {
for (var i = 0, item; item = list[i++];) {
entry[item[0].slice(0, -3)] = item[2];
}
});
return entry;
}();
// 循环文件夹内的文件
function getEntry(path, cb) {
var folder_exists = fs.existsSync(path);
var fileList = [];
if (folder_exists == true) {
var dirList = fs.readdirSync(path);
dirList.forEach(function(fileName) {
fileList.push([fileName, path, path + fileName]);
});
};
return cb(fileList);
}
// webpack配置
module.exports = {
entry: entries,
output: {
path: outputPath,
filename: '[name].min.js',
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
output: {
comments: false,
},
sourceMap: false,
minimize: true,
compress: {
drop_debugger: true,
warnings: false,
drop_console: true
},
mangle: {
// 排除关键字
except: ['$super', '$', 'exports', 'require']
}
})
]
};
第二步:当前路径下执行命令npm i
第三步:当前路径下执行命令webpack