Node.js 的原型注入方法
问题提出
现在有两个DAO类,我希望他们能互相访问,生成实例,但是相互require()
会导致循环引用,出现空对象
User.class.coffee
Group=require './Group.class.js'class User constructor:(@uid)->...
getGroups:(cb)-> db.query 'XXXXX',(err,rows)-> cb null,(new Group row.gid for row in rows)module.exports=User
Group.class.coffee
User=require './Group.class.js'class Groupconstructor:(@gid)->...getAdmin:(cb)->db.query 'xxxxxx',(err,uid)->cb null,new User uid
module.exports=Group
上面这样的写法,出现了循环引用,User,Group中至少有一个会出现空对象
我的解决方法
使用三个文件,第三个文件为注入文件,为类文件原型添加方法
User.class.coffee
class User constructor:(@uid)->......
Group.class.coffee
User=require './Group.class.js'class Groupconstructor:(@gid)->...getAdmin:(cb)->db.query 'xxxxxx',(err,uid)->cb null,new User uid
module.exports=Group
User.inject.coffee
User=require '../User.class.js' Group=require '../Group.class.js'User.prototype.getGroups:(cb)-> db.query 'XXXXXXX',(err,rows)->cb null,(new Group row.gid for row in rows)
有什么更好的解决方法,请联系我,谢谢。
转载于:https://www.cnblogs.com/ireul/p/3404906.html
Node.js 的原型注入方法相关推荐
- node.js mysql防注入_避免Node.js中的命令行注入安全漏洞
在这篇文章中,我们将学习正确使用Node.js调用系统命令的方法,以避免常见的命令行注入漏洞. 我们经常使用的调用命令的方法是最简单的child_process.exec.它有很一个简单的使用模式;通 ...
- import export php,import与export在node.js中的使用方法
import与export是es6中模块化的导入与导出,node.js现阶段不支持,需要通过babel进行编译,使其变成node.js的模块化代码.(关于node.js模块,可参考其他node.js模 ...
- node服务器放vue项目,本地Vue项目跨域请求本地Node.js服务器的配置方法
前言:跨域请求是在本地开发时经常遇到的需求,也很简单,只是几句代码配置一下的问题.我初次配置跨域请求时由于官方的说明太简洁,找到的教程又落伍,调试了一番并没有解决问题,到最后解决问题,已花费了很多时间 ...
- JavaFX下的WebView中js调用java注入方法提示undefined?
关键词: java注入无效 js无法调用java方法 java上下文注入未生效 背景: 官方提供的demo是直接new JavaApp(),但实际使用不行,需要刷新页面后才生效 解决方案: 主要修改的 ...
- 在CentOS 7上安装Node.js的4种方法(yum安装和源码安装)
CentOS 7上的安装方法,其中涵盖了源码安装,已编译版本安装,EPEL(Extra Packages for Enterprise Linux)安装和通过NVM(Node version mana ...
- linux安装nodejs 7,在CentOS 7上安装Node.js的4种方法
Node.js和Javascript有着千丝万缕的联系,可以说Node.js让Javascript显得从未如此强大.好吧-微魔其实是个门外汉-但是这并不能阻碍微魔学习探索未知的信心~今天在国外闲逛,看 ...
- Node.js的原型继承函数 util.inherits
util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数.JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同.Jav ...
- Node.js~在linux上的部署~外网不能访问node.js网站的解决方法
这是上一篇node.js部署到linux上的后续文章,当我们安装完node.js之后,建立了sailsjs的网站,然后在外面电脑上无法访问这个网站,这个问题我们如何去解决? 解决思路: 查看linux ...
- Node.js Express 框架 GET方法
GET 方法 以下实例演示了在表单中通过 GET 方法提交两个参数,我们可以使用 server.js 文件内的 process_get 路由器来处理输入: index.htm 文件代码如下: < ...
- 一道题学习node.js中的CRLF注入
前言 这几天刷题遇到在node.js题目中注入CRLF实现ssrf的题目,对于我来说知识听新颖.在此记录一下. CRLF注入 学习过http请求走私漏洞的师傅对于这个CRLF肯定不会陌生.所谓的CRL ...
最新文章
- gulp 配置自动化前端开发
- php的PDO手记1
- Java内部类详解(使用场景和好处、相关内部类的笔试面试题)
- 你见过的“垃圾”项目是这样子么?
- 12306订票助手java_12306订票助手
- Git 别名(分布式版本控制系统)
- HubbleDotNet开源全文搜索数据库项目--技术详解
- TCP TIME_WAIT详解
- 怎么找网页源文件位置_原神白铁块位置分布图 原神白铁块怎么找
- Java全栈工程实践
- 华为认证工程师HCNE培训资料
- Android 11 新特性和API兼容
- c语言程序设计工作任务,C语言程序设计任务驱动教程
- Linux安装及美化Typora详细步骤
- 智能车浅谈——过程通道篇
- 奇遇MIX体验:加入全彩VST透视,开创消费级VR一体机新时代
- Axure移动端实用元件库分享
- R语言高维数据的pca、 t-SNE算法降维与可视化分析案例报告
- 原 农民工自学java到找到工作的前前后后
- Unity ShaderLab 常用函数
热门文章
- Java日志框架(二)
- xshell 中使用vim 显示Xmanager运行失败:
- 《构建之法》阅读笔记05
- PInvoke在 2.0 3.0的时候正常 升级到4.0后出错。
- position的absolute;fixed;relative;static;inherit属性小结
- WPF中radiobutton 的 data binding方法
- vs2008+sqlserver2008 同一台服务器webconfig 数据连接串的配置要点
- 用JavaScript验证密码强度
- Dev--Config Files
- redis如何进行分库存储和选择模糊清除缓存