Makefile组合js文件并制作压缩版本

发布于 2024-10-07 06:03:35 字数 964 浏览 1 评论 0原文

我正在尝试编写一个基本的 makefile,将多个 js 文件组合成一个文件,然后执行相同的操作但压缩它们。

到目前为止,我已经有了一个可以使压缩版本变得很好的工具。

# Set the source directory
srcdir = src/

# Create the list of modules
modules =   ${srcdir}core.js\
            ${srcdir}sizzle.js\
            ${srcdir}json2.js\
            ${srcdir}ajax.js\
            ${srcdir}attribute.js\
            ${srcdir}content.js\
            ${srcdir}cookie.js\
            ${srcdir}css.js\
            ${srcdir}event.js\
            ${srcdir}json.js\
            ${srcdir}location.js\
            ${srcdir}opacity.js\
            ${srcdir}ready.js\
            ${srcdir}size.js\
            ${srcdir}init.js

# Compress all of the modules into spark.js
spark.js: ${modules}
    java -jar yuicompressor.jar -o $@ $^

有谁知道我将如何添加一个名为spark-dev.js 的未压缩版本?我一直在尝试使用 cat 但我没有走得太远。这是我写的第一个 makefile。

编辑 我用 cat 尝试了这段代码

spark-dev.js: ${modules}
    cat $@ $^

I am trying to write a basic makefile that combines multiple js files into a single one and then does the same but compresses them.

So far I have this one that can make the compressed version fine.

# Set the source directory
srcdir = src/

# Create the list of modules
modules =   ${srcdir}core.js\
            ${srcdir}sizzle.js\
            ${srcdir}json2.js\
            ${srcdir}ajax.js\
            ${srcdir}attribute.js\
            ${srcdir}content.js\
            ${srcdir}cookie.js\
            ${srcdir}css.js\
            ${srcdir}event.js\
            ${srcdir}json.js\
            ${srcdir}location.js\
            ${srcdir}opacity.js\
            ${srcdir}ready.js\
            ${srcdir}size.js\
            ${srcdir}init.js

# Compress all of the modules into spark.js
spark.js: ${modules}
    java -jar yuicompressor.jar -o $@ $^

Does anyone know how I would go about adding an uncompressed version called spark-dev.js? I have been trying to use cat but I didn't get very far. This is my first makefile I have ever written.

EDIT
I tried this code with cat

spark-dev.js: ${modules}
    cat $@ $^

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦境 2024-10-14 06:03:35

你就快到了:-) 这应该可以工作:

spark-dev.js: ${modules}
    cat > $@ $^

背景:cat 的功能是(尝试)打开其命令行上列出的所有文件,并将内容转储到标准输出。 <代码>> $@ 语法被 shell 理解为“创建文件 $@,并将该命令的 stdout 连接到它”,所以现在我们得到了 $ 的内容^ 组合在一起成为 $@

You were almost there :-) This should work:

spark-dev.js: ${modules}
    cat > $@ $^

Background: The function of cat is to (try to) open all the files listed on its command line, and dump the contents to stdout. The > $@ syntax is understood by the shell to mean "create the file $@, and connect this command's stdout to it", so now we end up with the contents of $^ combined together into $@.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文