gpt4 book ai didi

javascript - 当不支持 JavaScript 时,我可以使用 Node.js 'mirror' 作为回退吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:09:14 25 4
gpt4 key购买 nike

基本问题

是否有可能回退到现有客户端、大量使用 JavaScript 的网站的服务器端 Node.js 实现。专门针对没有 JavaScript 的用户(或者,如果客户端的浏览器无法满足某些性能要求)?

我真的很喜欢一种架构,它是对 slide 8 of this presentation 的字面解释.

不是 mustache /主干在客户端形成数据结构和创建 View ,而是在 Node 中完成,并且可以返回完全形成的 HTML。

背景

我编写了一个基于 jQuery、Underscore、Backbone 和 Mustache 堆栈的应用程序(对 Web 服务进行 RESTful API 调用以获取数据)。

这一切在浏览器中启用 JavaScript 的情况下运行良好,但我还没有编写服务器端实现作为后备。

当然,我基本上可以在 C#.NET/Python/Ruby/etc. 中“重写所有内容”,但这似乎是一个非常糟糕的解决方案,当你考虑到重复的数量和增加的维护时,当有在 JavaScript 中可用的应用程序的全功能版本。

最佳答案

你可以做到这一点。使用类似 express.js 的东西更容易:http://expressjs.com/

例如,Express.js 有一个名为 res.render() 的函数,它会为您呈现一个模板(使用多种模板语言)。

您的客户端应用程序的功能必须重写才能在没有 js 的情况下工作(很明显)。但您甚至可以动态生成 anchor 标记并将它们作为变量传递到服务器上的模板。

示例响应 whatever.com/test 呈现模板 index.jade,标题变量设置为“我的网站”:

app.get('/test', function(req, res){
res.render('index.jade', { title: 'My Site' });
});

至于在服务器上重用整个 Backbone 应用程序,我认为可以使用 jsdom 并重写大量代码。使用请求和模板以不同的风格重写您的应用很可能更具成本效益。

关于javascript - 当不支持 JavaScript 时,我可以使用 Node.js 'mirror' 作为回退吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com