栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Express和Node.js中,是否可以扩展或覆盖响应对象的方法?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Express和Node.js中,是否可以扩展或覆盖响应对象的方法?

最好的主意是在响应对象的原型中添加一个自定义方法:

var express = require("express");express.response.customRender = function() {    // your stuff goes here};

每个

res
对象都应该可以访问此功能。

您可以阅读源代码,以了解它们如何扩展本机对象。基本上他们在做原型链:

express / lib / response.js

var res = module.exports = {  __proto__: http.ServerResponse.prototype};

这个对象成为新创建的响应对象(来自connect框架)的原型:

res.__proto__ = app.response;

app.response
只是
res
上面定义的别名)。请注意,
__proto__
属性是对对象原型的引用。

但是被警告。首先,

__proto__
它不是Ecmascript的一部分(在其他Javascript实现中可能不可用)。其次:通常,您将使用继承
Object.create
__proto__
直接在对象上设置是猴子修补,通常是不好的做法,它可能会破坏很多东西)。在此处阅读有关此内容的更多信息:

https://developer.mozilla.org/zh-
CN/docs/Web/Javascript/Guide/Inheritance_and_the_prototype_chain



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401556.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号