我有以下结构:编译和连接的CoffeeScript文件
/lib
/myfile.js.cofee
/secondfile.js
/src
,我想将它们汇编成
/lib
/myfile.js.cofee
/secondfile.js
/src
/awesomefile.min.js
我看了一下Cakefiles,但我不知道如何正是这样做。
谢谢, 迈克
我有以下结构:编译和连接的CoffeeScript文件
/lib
/myfile.js.cofee
/secondfile.js
/src
,我想将它们汇编成
/lib
/myfile.js.cofee
/secondfile.js
/src
/awesomefile.min.js
我看了一下Cakefiles,但我不知道如何正是这样做。
谢谢, 迈克
如果您恰好使用基于连接的东西(例如express),我推荐使用connect-assets。如果没有,那么grunt可能是一个很好的选择,正如之前的建议。如果你想自己用Cakefile
这样做,可以使用下面的一种方法:
请注意,约定是从src创建到lib(这与你在问题中陈述的相反)。我将在下面使用该惯例,但如果需要,您可以轻松将其切换回来。
$ npm install snockets
发生在src/awesomefile.coffee
如下:
#= require secondfile.js
#= require myfile.js.coffee
创建具有以下一个Cakefile
:
fs = require 'fs'
Snockets = require 'snockets'
NAME = 'awesomefile'
INPUT_FILE = "src/#{NAME}.coffee"
OUTPUT_FILE = "lib/#{NAME}.min.js"
task 'build', 'Build lib/ from src/', ->
snockets = new Snockets()
js = snockets.getConcatenation INPUT_FILE, async: false, minify: true
fs.writeFileSync OUTPUT_FILE, js
task 'clean', "remove #{OUTPUT_FILE}", ->
fs.unlinkSync OUTPUT_FILE
现在,你可以这样做:
$ cake build
这将创建lib/awesomefile.min.js
。
您可以让src
中的文件跟踪它们自己的依赖关系,或者您可以列出要包含在单个文件中的顺序,就像我上面所做的一样。如需更多信息,可以查看snockets存储库。另请注意,The Little Book on CoffeeScript的compiling chapter章节是学习蛋糕文件的好资源。
可能不是你所期望的确切的答案。
www.gruntjs.com上的Grunt.js是一个非常有用的buildtool,当然包含了很多你需要每天使用webproject完成的工作。
我正在编译从src到lib。我显然没有充分解释它。谢谢! –