3

我正在通过“coffee my_server.coffee”运行节点 Web 服务器,并通过加载依赖项

 require './my_library.coffee'

我的代码库非常大,我的服务器启动需要花费大量时间,我相信这是由于coffeescript编译......当我将整个东西转换为javascript时,它的加载速度要快得多。

缓存已编译的 javascript 最不痛苦的方法是什么,这样当我重新启动服务器时,它只会编译自上次启动以来我编辑过的文件?理想情况下它将是完全透明的......我只是继续要求咖啡脚本,它被缓存在幕后。

或者,我可以运行“node my_server.js”,并在我的目录上有一个观察者,每当我编辑它时都会重新编译咖啡脚本,但我不太喜欢这个想法,因为它用一堆 js 文件弄乱了我的目录,使得我的 gitignore 更复杂,意味着我必须管理观察者功能。有没有办法让我吃蛋糕(运行“咖啡”可执行文件并需要咖啡文件)并吃掉它(快速加载时间)?

4

1 回答 1

2

好吧,如果您不想“用一堆 .js 文件弄乱您的目录”,我认为您是 SOL。如果您从未将 .js 文件存储在磁盘上,则每次都需要即时将 .coffee 编译为 javascript。据我所知,该coffee命令不会对文件.js.coffee文件之间的 mtime 进行任何比较,尽管理论上它可以,在这种情况下,将.js文件留在周围可能会对您的情况有所帮助。鉴于您的偏好,我唯一可以建议的是:

  • 运行一个观察器,将所有 .coffee 文件构建到一个单独的build子目录树中
  • node build/app.js用而不是咖啡来启动你的应用程序
  • 忽略build你的目录.gitignore

不过,您将不得不放弃通过coffee。好奇看看其他人是否有更好的建议。我的项目不受启动时间问题的影响。SSD 和小型项目有助于保持简短且不烦人。

于 2013-07-23T19:52:29.343 回答