我们正在使用helpers(Dust.js)对库进行模板化,helper库在代码库中具有以下设计模式。
(function(root, factory) {
if (typeof define === 'function' && define.amd && define.amd.dust === true) {
define(['dust-linkedin'], factory);
} else if (typeof exports === 'object') {
module.exports = factory(require('dust-linkedin'));
// module.exports = factory; // <<--- This is working on v8
} else {
factory(root.dust);
}
}(this, function (dust) {
...
});
在节点v6中,导出工厂(require('dust-linkedin')工作正常,但在切换到节点v8(v8.9.3)之后,我们看到帮助程序没有得到执行,正在更改
工厂(需要('dust-linkedin'))
到
工厂
在helper库中,事情开始起作用。
在节点v8中,当需要(“dust-linkedin”)时,它是否会创建一个新的上下文/对象,因为我们正在失去所有的助手?commonjs require行为是否有任何变化?