我可以使用Node.js 'mirror'作为JavaScript不支持时的回退
Can I use a Node.js 'mirror' as fallback when JavaScript not supported?
基本问题
是否有可能退回到现有的客户端,javascript重站点的服务器端Node.js实现?特别是对于没有JavaScript的用户(或者,如果客户端的浏览器无法满足某些性能要求)?
我真正追求的是一种架构,这是对这次演讲幻灯片8的字面解释。
与在客户端生成数据结构和创建视图不同,这将在Node中完成,并且可以返回完全形成的HTML。
的背景我已经写了一个应用程序,它是建立在jQuery, Underscore, Backbone和Mustache堆栈上的(通过RESTful API调用web服务获取数据)。
在浏览器中启用JavaScript时,这一切都工作得很好,但我还没有编写一个服务器端实现作为备用。
当然,我基本上可以用c# . net/python/ruby/etc"重写所有东西"。,但这似乎是一个非常糟糕的解决方案,当你考虑到复制的数量和增加的维护,当JavaScript中有一个完整的功能版本的应用程序可用。你可以这样做。使用express.js更容易:http://expressjs.com/
例如,Express.js有一个名为res.render()的函数,它将为你呈现一个模板(在各种模板语言中)。
你的客户端应用程序的功能将不得不重写工作没有js(显然)。但是,您甚至可以动态地生成锚标记,并将它们作为变量传递给服务器上的模板。
响应whatever.com/test的示例,该示例呈现模板索引。jade,标题变量设置为'My Site':
app.get('/test', function(req, res){
res.render('index.jade', { title: 'My Site' });
});
至于在服务器上重用你的整个骨干应用程序,我认为使用jsdom重写大量代码是可能的。使用请求和模板以不同的风格重写你的应用可能更划算。
随着我们在服务器端JS领域的发展,我们可能会越来越多地看到这种情况。
我可能会自己写一些东西,但是正如评论者juandopazo所提到的,这在YUI3中已经是可能的了。
Douglas Crockford在这段关于"Serversideness"的视频中提到了我所谈论的内容(以及YUI的功能)-从03:45开始。
- 任何浏览器都不支持javascript函数
- javascript表单字段submit:Object dos'在IE8中不支持此属性或方法
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- JSHint 错误“对象不支持此属性或方法”用于 javascript 闭包
- 下拉 Javascript 错误:对象不支持属性或方法“匹配”
- Javascript 错误:对象在 IE 浏览器中不支持此属性或方法
- Chrome 不支持 Javascript 中的原型属性吗?
- Android 原生浏览器不支持 JavaScript Regexp .match()
- Ubuntu 中的 Netbeans 7.0.1 不支持 JavaScript
- Internet Explorer 8不支持JavaScript对象和属性
- 在不重新加载页面的情况下发布请求,并且不支持javascript(Node Express框架)
- 当浏览器不支持JavaScript时,单击链接后如何执行脚本
- Angular不支持javascript屏幕上的键盘输入
- IE不支持javascript onclick事件.作品在FF和Chrome
- Angular Js的过滤器不支持javascript的加法运算符
- 不支持Javascript/Jquery延迟加载.facebook是怎么做到的?
- 使用ClientID从文本框中获取值不支持JavaScript
- 在不支持javascript同步xmlhttprequest时,如何实现超时
- 您是否仍然对不支持JavaScript的浏览器进行隐藏?
- firefox浏览器不支持Javascript Date