我曾尝试使用uglifyjs缩小javascript文件,但它只输出文件output.min.js中的文件名后跟分号,它告诉我"文件已成功保存。&#34 ;;不是js文件geolocation.service.js的缩小代码。有人可以帮忙吗?下面的代码保存在我命名为uglifyjs的文件中。我使用$ node uglifyjs.js来运行该文件。
var fs = require('fs');
var uglifyjs = require('uglify-js');
var result = uglifyjs.minify(["geolocation.service.js"]);
console.log(result.code);
fs.writeFile("output.min.js", result.code, function(err) {
if(err) {
console.log(err);
} else {
console.log("File was successfully saved.");
}
});
答案 0 :(得分:1)
The API minify(code)
而非minify(file paths)
uglifyjs.minify(fs.readFileSync('geolocation.service.js', 'utf8'))
答案 1 :(得分:1)
var appClientFiles = {
"app" : fs.readFileSync('app_client/app.js', 'utf8'),
"controller": fs.readFileSync('app_client/home/home_controller.js', 'utf8'),
"geolocation": fs.readFileSync('app_client/common/services/geolocation.service.js', 'utf8'),
"data": fs.readFileSync('app_client/common/services/hubRadarData.service.js', 'utf8'),
"filters": fs.readFileSync('app_client/common/filters/formatDistance.filter.js', 'utf8'),
"about": fs.readFileSync('app_client/about/about.controller.js'),
"directives": fs.readFileSync('app_client/common/directives/ratingStars/ratingStars.directive.js', 'utf8'),
}
var uglified = uglifyJs.minify(appClientFiles, {compress: false});
if (uglified.error) throw uglified.error;
这是使用uglifyjs最小化多个JS文件的好方法,请记住始终使用一个对象来保存JavaScript文件,其中键是js文件的名称,而值是JavaScript文件的位置