我正在Node.js中开发一个带有MongoDB数据库的小型应用程序,我前面有nginx来处理静态文件和初始的index.html。
当我访问我的index.html时,所有的javascript/css/img文件都被加载,并与node.js服务器建立了websocket连接。
最初我的index.html是空的,它需要用正确的模板文件填充。我可以做的一件事就是做一个普通的ajax请求。
$.get('myfile.html')并将其附加到我的内容中。websocket只处理数据库数据。
现在我已经有了一个打开的websocket连接服务器,为什么不直接将.html模板和数据库中的数据一起传输,并将其合并到客户端中呢。
模板文件只是一些小的html片段,为什么要浪费一个http-req呢??
请注意,此应用程序将仅由具有完全html5浏览器支持的选择性用户使用。不需要回退情况。
考虑到HTTP非常适合提供文件,缓存(可能在多个层中)对您有效,因此您甚至不必向访问者多次发送任何html内容,我肯定认为好处大于坏处。听起来你可以发送一个index.html和相关内容,并在你的index.html中有模板(例如,在jQuery模板中,它可以使用<script id="fooTemplate" type="text/x-jquery-tmpl">
标签)。
显然,可以通过WebSocket发送模板。