簡體   English   中英

coffeescript + nodejs:使用require緩存已編譯的服務器端javascript

[英]coffeescript + nodejs: caching the compiled server-side javascript using require

我通過“coffee my_server.coffee”運行節點Web服務器,然后通過加載依賴項

 require './my_library.coffee'

我的代碼庫非常大,而且我的服務器啟動需要花費大量的時間,我認為這是由於coffeescript編譯...當我將整個事物轉換為javascript時,它的加載速度要快得多。

什么是緩存已編譯的javascript最痛苦的方法,所以當我重新啟動我的服務器時,它只編譯自我上次啟動以來編輯過的文件? 理想情況下,它將完全透明......我只是繼續要求coffeescript,它會在幕后緩存。

或者,我可以運行“node my_server.js”,並且在我的目錄中有一個觀察者,每當我編輯它時都會重新編譯coffeescript,但我真的不喜歡這個想法,因為它使我的目錄與一堆js文件混亂,使得我的gitignore更復雜,意味着我必須管理觀察者功能。 有沒有辦法讓我吃蛋糕(運行“咖啡”可執行文件並需要咖啡文件)並吃掉它(快速加載時間)?

好吧,如果你不想“用一堆.js文件混亂你的目錄”,我認為你是SOL。 如果你沒有將.js文件存儲在磁盤上,你需要每次都將.coffee編譯成javascript。 據我所知, coffee命令沒有對.js.coffee文件之間的mtime進行任何比較,雖然理論上它可以,在這種情況下,留下.js文件可以幫助你的情況。 鑒於您的偏好,我唯一可以建議的是:

  • 運行一個觀察程序,將所有.coffee文件build到一個單獨的build子目錄樹中
  • 使用node build/app.js而不是coffee來啟動你的應用程序
  • 忽略.gitignorebuild目錄

你不得不放棄通過coffee來運行東西。 很想知道其他人是否有更好的建議。 我的項目不會受到啟動時間問題的影響。 固態硬盤和小型項目有助於保持簡短而不煩人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM