我正在使用MongoDB数据库在Node.js中开发一个小应用程序,我在前面有nginx来处理静态文件和初始index.html。
当我访问我的index.html时,加载了所有javascript / css / img文件,并且对node.js服务器进行了websocket连接。
最初我的index.html为空,需要填写正确的模板文件。我能做的一件事是做一个正常的ajax req。
$。get('myfile.html')并将其附加到我的内容中。 websocket只处理数据库数据。
现在我已经有了一个开放的websocket连接服务器,为什么我不只是将.html模板与数据库中的数据一起传输,并将其合并到客户端。
模板文件只是很少的html片段,为什么要浪费一个http req,对吧?
请注意,此应用仅供具有完整html5浏览器支持的选择人员使用。不需要后备情况。
答案 0 :(得分:5)
鉴于HTTP非常适合提供文件,缓存 - 可能在多个层 - 为您工作,因此您甚至不必多次向访问者发送任何HTML内容,我绝对认为好处超过了下行空间。听起来您可以发送index.html以及相关内容,并在index.html中使用模板(例如jQuery templates中可以使用<script id="fooTemplate" type="text/x-jquery-tmpl">
标记的模板)。
显然你可以通过WebSocket发送模板。