Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译并连接coffeescript文件_Coffeescript_Cakefile - Fatal编程技术网

编译并连接coffeescript文件

编译并连接coffeescript文件,coffeescript,cakefile,Coffeescript,Cakefile,我的结构如下: /lib / myfile.js.cofee / secondfile.js /src 我想把它们编译成 /lib / myfile.js.cofee / secondfile.js /src / awesomefile.min.js 我读过关于cakefile的文章,但我不知道该怎么做 谢谢, 迈克可能不是你期望的确切答案 www.gruntjs.com上的Grunt.js是一个非常有用的构建工具,当然它包含了很多你每天需要在网络项目中做的事情。如果你碰

我的结构如下:

/lib
  / myfile.js.cofee
  / secondfile.js
/src
我想把它们编译成

/lib
  / myfile.js.cofee
  / secondfile.js
/src
  / awesomefile.min.js
我读过关于cakefile的文章,但我不知道该怎么做

谢谢,
迈克可能不是你期望的确切答案


www.gruntjs.com上的Grunt.js是一个非常有用的构建工具,当然它包含了很多你每天需要在网络项目中做的事情。

如果你碰巧使用了基于connect的东西(例如express),我建议你使用。如果不是,那么可能是一个很好的赌注,正如之前所建议的那样。如果您想自己使用
Cakefile
执行此操作,可以使用以下方法:

请注意,约定是从src构建到lib(这与您在问题中所述相反)。我将使用下面的约定,但如果需要,您可以轻松地将其切换回

$npm安装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
中的文件跟踪它们自己的依赖项,或者您可以像我上面所做的那样列出要包含在单个文件中的顺序。有关更多信息,您可以查看存储库。还要注意的是,的章节是学习蛋糕文件的一个很好的资源。

我正在从src编译到lib。很明显,我解释得不够透彻。谢谢