繁体   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