Makefile压缩javascript

fre*_*ara 5 javascript makefile jscompress

我想在yui压缩器中压缩javascript,如何编写压缩javascript的make文件.

因为语法很难而且不理解,你能给我一个样本Makefile吗?

Phi*_*ler 10

你的makefile看起来像

code.compressed.js: code.js
    compressor -o $@ $<
Run Code Online (Sandbox Code Playgroud)

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

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

-o标志表示输出文件,遵循编译器和类似工具的惯例.你的可能会有所不同; 检查其文档.

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

如果您有将全部被压缩成一个文件输出多个文件,你可以把他们所有的依赖行,然后使用特殊的变量$^生成规则,指定所有的人:

code.compressed.js: code1.js code2.js
    compressor -o $@ $^
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望它们各自单独压缩,您可以编写模式规则并将其用于所有这些规则:

TARGETS = code1.cjs code2.cjs code3.cjs

all: $(TARGETS)

%.cjs: %.js
    compressor -o $@ $<
Run Code Online (Sandbox Code Playgroud)

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