javascript - 压缩javascript的Makefile

标签 javascript makefile jscompress

我想在 yui 压缩器中压缩 javascript, 如何编写用于压缩 javascript 的 Make 文件。

因为语法难,看不懂, 你能给我一个示例 Makefile 吗?

最佳答案

你的 makefile 应该是这样的

code.compressed.js: code.js
    compressor -o $@ $<

请注意,第二行缩进了一个制表符,而不仅仅是空格。 make 实用程序关心这一点。

code.compressed.js是应该写入文件的名称,code.js是要压缩的文件,compressor是执行压缩的程序。

-o标志表示输出文件,遵循编译器和类似工具的约定。你的可能不同;查看其文档。

变量$@是“此规则的目标”的 Makefile 简写,code.compressed.js在这种情况下。同样,$<是“此规则的第一个依赖项”的缩写。这些变量很有用,因此您无需重复自己,也无需在重命名文件时进行重复更改。

如果您有多个文件都将被压缩到一个输出文件中,您可以将它们全部放在依赖行上,然后使用特殊变量 $^构建规则中指定所有这些:

code.compressed.js: code1.js code2.js
    compressor -o $@ $^

或者,如果您希望它们分别压缩,您可以编写一个模式规则并将其用于所有它们:

TARGETS = code1.cjs code2.cjs code3.cjs

all: $(TARGETS)

%.cjs: %.js
    compressor -o $@ $<

默认构建它看到的第一个目标,即all在这种情况下。要压缩的文件列表由 TARGET 的内容给出。多变的。 %是一个通配符,make 将替代生成匹配源文件名和目标文件名的规则。

关于javascript - 压缩javascript的Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004873/

相关文章:

macos - 在 mac 上升级 gnu make

javascript - 在平板电脑上使用 ng-mouseenter 或 ng-mouseover 时 ng-click 不触发

javascript - 使用 jQuery deferred 链接和排队 ajax 请求

javascript - $_POST 请求不起作用

c++ - 在 makefile 中使用 ifeq 编译 C 或 CPP 文件

javascript - HTML + JavaScript + CSS 精简工具

JavaScript Date.toString() 返回错误的时间

c - makefile 简化

javascript - 哪个 javascript 缩小库产生更好的结果?

javascript - 有哪些独立的 JavaScript 压缩工具?