【问题标题】:How to minify multiple files into one file using only uglifyjs?如何仅使用 uglifyjs 将多个文件缩小为一个文件?
【发布时间】:2017-05-26 01:04:55
【问题描述】:

我曾尝试使用 uglifyjs 将 javascript 文件缩小到一个文件中,但它不起作用。我使用 $node uglifyjs.js 来运行该文件。下面是uglify.js中的代码

  var fs = require('fs');

  var uglifyjs = require('uglify-js');

  var files = ['app.js', 'geolocation.service.js'];

  var result = uglifyjs.minify(fs.readFileSync(files, 'utf8'));

 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.");
 }
 });

当我运行此代码时,我收到以下错误消息:

  fs.js:549
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), 
  mode);
             ^

   TypeError: path must be a string
   at TypeError (native)
   at Object.fs.openSync (fs.js:549:18)
   at Object.fs.readFileSync (fs.js:397:15)
   at Object.<anonymous> (C:\Users\HP\Desktop\uglify\uglify.js:7:33)
   at Module._compile (module.js:435:26)
   at Object.Module._extensions..js (module.js:442:10)
   at Module.load (module.js:356:32)
   at Function.Module._load (module.js:311:12)
   at Function.Module.runMain (module.js:467:10)
   at startup (node.js:134:18)

【问题讨论】:

  • fs.readFileSync(file[, options]) -- file &lt;string&gt; | &lt;Buffer&gt; | &lt;integer&gt; filename or file descriptor

标签: javascript node.js angular express uglifyjs


【解决方案1】:

here 所示,uglify.minify 要求您传入stringstrings 的列表。

您的代码:

var result = uglifyjs.minify(fs.readFileSync(files, 'utf8'));

正在尝试一次读取多个文件,但fs.readFileSync 只接受一个文件。

所以把你的代码改成这样:

var filesContents = ['app.js', 'geolocation.service.js'].map(function (file) {
    return fs.readFileSync(file, 'utf8');
})

var result = uglifyjs.minify(filesContents);

if (result.error) {
    console.error("Error minifying: " + result.error);
}

fs.writeFile("output.min.js", result.code, function (err) {
    if (err) {
        console.error(err);
    } else {
        console.log("File was successfully saved.");
    }
});

【讨论】:

  • 非常感谢。这完全完成了这项工作。
猜你喜欢
  • 2012-02-07
  • 1970-01-01
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 1970-01-01
相关资源
最近更新 更多