6.1 CdifUtil.loadFile

方法说明

加载一个JS文件,并返回该JS文件的全新对象实例

方法原型

CdifUtil.loadFile(path);

返回类型

对象

方法描述

CdifUtil.loadFile用于返回一个JS文件的全新对象实例。他的语法和require一致。path必须为包含绝对路径的文件名称,例如:__dirname + ‘/example.js’。

本方法和require的区别之处在于,每次对CdifUtil.loadFile的调用会加载并返回一个全新的JS对象实例。而不会进入Node.js的全局require缓存。

该方法可被用于应用代码的热更新。每次对CdifUtil.loadFile调用将返回被加载代码的全新实例,并可自动替换原有老的JS对象的引用。原有的JS对象及其引用将被系统自动回收。

附加说明: 每次对CdifUtil.loadFile的调用会创建一个全新的JS对象实例,该对象实例内部的成员变量会被重置到初始状态。在用户的实现代码中,如果希望保持其自身JS模块代码在不同地方被引用时的幂等性(内部状态一致),请使用require代替CdifUtil.loadFile。对于不需要改动的应用的外部依赖包,例如moment, mysql等等,建议直接使用require

CdifUtil.loadFile不能加载仅仅导出一个常量的JS对象。例如:加载以下JS文件会得到错误返回:

module.exports = 20;

代码范例

以下代码加载当前项目路径下的device.js文件,并创建一个全新的Device对象引用:

var Device = CdifUtil.loadFile(__dirname + '/device.js');

错误

在装载过程中产生错误时返回null。错误信息的详细内容打印在系统调试窗口中(调试模式),或记录在系统后台日志中(生产模式)

同步/异步

同步操作。