位置: 编程技术 - 正文

浅析Node.js中使用依赖注入的相关问题及解决方法(node.js使用教程)

编辑:rootadmin

推荐整理分享浅析Node.js中使用依赖注入的相关问题及解决方法(node.js使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js的理解,node.js的使用,node-js,node.js使用教程,node-js,node.js用途,node.js用途,node.js用途,内容如对您有帮助,希望把文章链接给更多的朋友!

最近,我转向使用依赖注入来帮助理解分离代码的简单途径,并有助测试。然而,Node.js中的模块依赖Node提供的系统API,这很难判断私有依赖被恰当的使用。一般的依赖注入很难在这种情况下使用,但现在不要放弃希望。

requireCauses 问题

Node.js很容易依照需求导入依赖。它运行的很好,并且比AMD模式加载器例如RequireJS要简单。当我们模拟那些依赖的时候问题就来了。如果Node.js中模型的加载是受控的,我们怎么做才能控制让伪对象在测试期间被使用到?我们可以使用Node的vm模式,通过vm我们可以再新的上下文中加载模型。运行在新的上下文中,我们可以控制需求反射出模型的方法。

解决方案

浅析Node.js中使用依赖注入的相关问题及解决方法(node.js使用教程)

谢谢这篇文章, 现在可以给你提供一个相当不错的解决方案. 代码在下面:

你也可以在 这里 下载代码片段 . 虽然在不是在文章发布最多的代码, 他仍然可以使用一些解释. 当我们测试时, 我们要加载这个模块进入测试, 使用theloadModulefunction代替ofrequire加载模块测试. 第一个参数filePath指定了我们要测试模型的查找位置。第二个参数mocks包含一个对象,对象的属性名称要和我们尝试require的模型的名称相匹配。那些属性指定的值就是伪对象,用来代替一般被require的模型。

本质上看就是用vm来加载和运行模型在另一个“上下文”中。换句话说,我们重建了全局变量(例如require和exports)以便我们能控制它们。需要注意的是我们编写了一个可用的新require函数。所做一切就是检查一下用执行的名字是否有一个模拟的依赖,如果每日有,我就就把它委托给那个常用的require函数。

使用模块加载器的例子

如果你还有点困惑,你可以看下面的代码示例,看它在上下文中的使用,也许能帮你清楚一些。首先,我们创建一个简单的模块。

主要注意是在7至行,我们为fs创建了一个伪对象并使用我们新的loadModule函数将这个使用的对象联系到上面的小模块中(我的意思是真棒!请记住,这是真棒,对不对?)。

在Mac OS下使用Node.js的简单教程 这里有一篇很好的Node.js介绍文章greatnodejsintro,它将给你一个非常方便的介绍Node.js和CouchDB,并给出一个实例实现REST的服务用于执行书签的CRUD操作,使

在Node.js应用中使用Redis的方法简介 在开始本文之前请确保安装好Redis和Node.js以及Node.js的Redis扩展——node_redis首先创建一个新文件夹并新建文本文件app.js文件内容如下:varredis=require("redis")

Nodejs实现批量下载妹纸图 听说最近下载妹子图很火?Nodejs(javascrpt)自然不能落后~虽然从没写过像样的Nodejs程序,但作为至少翻过书的前端同学来说,Nodejs用得还蛮顺手的哈~花

标签: node.js使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/377989.html 转载请保留说明!

上一篇:浅析Node.js中的内存泄漏问题(node.js详解)

下一篇:在Mac OS下使用Node.js的简单教程(macos如何使用)

  • 进项税抵扣怎么弄
  • 北京外贸进出口公司
  • 那些车不用交税
  • 进项税额转出会影响利润吗
  • 城市生活垃圾处理收费管理办法
  • 企业运输没有发票
  • 月初没报税可以领发票吗
  • 工业土地摊销年限最新规定
  • 配件和修理费能一起用吗
  • 税款滞纳金计入成本费用还是营业外
  • 离线开票时间超时
  • 销售蔬菜的个体工商怎么开具发票
  • 出口货物是否属于存货
  • 税局代开专票对方隔月退回重开如何做账务处理呢?
  • 会员卡收费怎么办理
  • 股东多人实收资产怎么办
  • 管理费用和财务费用算营业成本吗
  • 购入债券计入什么科目
  • 销项负数发票会计摘要
  • 个人公司转让协议怎么写
  • 更换金税盘后数据能恢复么
  • 小规模减免附加税会计分录怎么做
  • 增值税专用发票使用规定 最新
  • 初级考试备考计划
  • 公共基础设施折旧年限表 20
  • 会展服务可以入管理费用的哪个明细费用
  • 小规模纳税人的认定标准是什么
  • 季度预缴所得税可以弥补以前亏损吗
  • 月末计提电费
  • php数组函数输出《咏雪》里有多少"片"字
  • 增值税流转税是什么意思
  • 免税项目可以弥补税款吗
  • php对象是什么类型的数据
  • php中imagecreatefromjpeg
  • 金税盘锁住了怎么办
  • 发票多久过期不能开
  • 交通费补贴与报销的区别
  • element ui的作用
  • 失控发票成本做账怎么做
  • 傅里叶变换的过程
  • 企业小微企业贷逾期起诉法人房子会被拍卖吗?
  • 周转材料低值易耗品怎么结转
  • 非房地产企业转让建筑物,计提土地增值税时应借记
  • 购买金税盘是全额抵扣吗
  • 事业单位银行开户规定
  • 企业所得税法开办费
  • 普票是啥意思
  • 资本公积转增资本要交税吗
  • 京东提现到公账怎么取消
  • 出差补助没有发票
  • 公司法人转账到公司账户
  • 递延收益属于哪个报表项目
  • 出口退税登记的内容
  • 发票没有银行账号可以吗
  • 新成立的公司哪个地方能查到
  • 公司卖掉软件计提折旧吗
  • 企业为什么要设置仓库
  • 记账凭证的填制与审核
  • 深入理解mysql主从原理32讲
  • mysql 5.7.17 winx64安装配置方法图文教程
  • xp window
  • win10的win+tab
  • 苹果mac电脑打不开
  • centos6.5服务器安装教程
  • ubuntu必备软件10款
  • win8 电话激活
  • win7运行速度
  • css制作动画
  • python函数菜鸟教程
  • 编写注册表文件
  • 安卓handler使用
  • shell脚本中实现rm -fr !(file1)
  • 动态效果怎么设置
  • android:thumb
  • Jquery和BigFileUpload实现大文件上传及进度条显示
  • node express 路由
  • 预缴纳税申报个税怎么算
  • 北京市国家税务局发票查询
  • 租房协议中怎样签字
  • 广州代理记账公司注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设