2012-03-12 114 views
3

我想知道如果我可以使用CoffeeScript來包含其他標準的JS文件(作爲一個簡單的方法來做一些文件的組合)。我可以使用CoffeeScript結合其他js文件嗎?

我有一個我正在使用的客戶端縮小工具(名爲Live Reload的應用程序),它工作得很好。

<!-- Some jQuery plugins I'm using. --> 
<script src="/js/libs/some-plugin.js"></script> 
<script src="/js/libs/another-plugin.js"></script> 

<!-- The output of my /js/script.coffee file: --> 
<script src="/js/script.js"></script> 

我想要做的就是將這些插件合併到我的coffeescript文件的輸出中。我看起來很高,也很低,我只看到了關於服務器方法的文章以及關於requirejs.org等很多文章。我不想做任何複雜的事情 - 我只想擺脫幾次往返js文件,我知道我永遠不會去碰。

CoffeeScript是否有一個「包含」功能?

+0

[有沒有一種方法可以將文件包含在咖啡腳本中?](http://stackoverflow.com/questions/7718121/is-there-a-way-to-include-file-in-coffee-腳本) – 2012-03-12 01:10:58

+0

來自coffeescript-concat:「coffeescript concat需要node.js安裝,CoffeeScript和underscore.js。」由於我已經向js輸出coffeescript,我不需要另外一個外部工具來組合.coffee文件。我正在嘗試使用CoffeeScript本身將其他.js文件包含/合併到.coffee文件中。 – 2012-03-12 01:17:35

+0

CoffeeScript不是JavaScript的超集,所以如果你只是將'#include'(你明白了)JS加入到'.coffee'文件中,那麼這不會是語法上有效的CoffeeScript。你必須首先把JS轉換成CoffeeScript,然後包含它......然後把它全部轉換回JS。我真的不明白這一點。 – 2012-03-12 01:19:10

回答

0

基本上,答案似乎是否定的。這不是CoffeeScript能夠做到的。

1

有許多方法可以通過創建更復雜的Cakefile來實現此目的,其中您將讀取js文件的內容並將它們附加到CS編譯器輸出,而不是將其寫入單個目標js文件。你甚至可以創建一個假的全局require函數,它將模仿它在捆綁文件中的行爲。

如果您正在尋找一個標準工具或至少是解決這個問題的方法,遺憾的是,由於CS非常年輕,目前還沒有。儘管有一些嘗試:https://github.com/jashkenas/coffee-script/wiki/Build-tools

我目前正在研究這樣的工具,並計劃在一個月內發佈它。我會回覆。

+0

嗨Nikita,我正在尋找你描述的這樣的工具,你有什麼進展嗎? – 2014-01-04 05:20:18

+0

我不記得它是否接近所描述的問題,因爲我已經喝了很長時間咖啡書,但它可能會很近:https://github.com/nikita-volkov/Robusta – 2014-01-04 11:29:47

相關問題