gpt4 book ai didi

javascript - 在内存中以编程方式缩小 Javascript

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:30 24 4
gpt4 key购买 nike

我正在为 express.js 应用程序构建一个漂亮的小“ Assets 管道”,但我对 javascript 文件的压缩步骤有疑问

scripts = (fs.readFileSync(file) for file in filelist)
result = scripts.join("\n\n") # concat

到目前为止,一切都按预期工作(逻辑本身是用 coffeescript 编写的)。合并 JS 文件后的下一步是缩小它们。但这是我的问题:当我在生产模式下启动我的 express-app 时,我想从我写的一个连接中间件中做这个“热”。

我需要一个解决方案,可以缩小给定的 javascript 内容,无需将结果写入磁盘(!),换句话说:一个进行缩小并直接返回结果的函数结果值。 (不,也没有网络服务。)它应该像这样使用:

minified_result = awesomeMinifyFunction( result )

原始处理性能对我来说不是重要的,压缩级别也不重要,我只需要可以轻松工作的东西。

有人知道合适的解决方案吗?提前致谢!

最佳答案

我建议您查看一种基于 JavaScript 的压缩器,例如 UglifyJS2 .

npm install uglify-js

它可以在 Node.JS 应用程序中以编程方式使用:

var UglifyJS = require("uglify-js");
// you could pass multiple files (rather than reading them as strings)
var result = UglifyJS.minify([ "file1.js", "file2.js", "file3.js" ]);
console.log(result.code);

或者你可以

var result = scripts.join("\n\n");  # concat
result = UglifyJS.minify(result, {fromString: true});
console.log(result.code);

关于javascript - 在内存中以编程方式缩小 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com