好的,在 NodeJS 上下文中尝试 CommonJS 模块系统。
module.exports = pricingCalculator;
function pricingCalculator (options) {
var target = {};
return target;
}
这有效。据推测,pricingCalculator 的变量声明被提升到函数作用域的顶部,因此乱序并不重要,因为函数无论如何都是通过引用传递的。我明白了。我不明白的是为什么以下两个版本可以工作:
module.exports = pricingCalculator;
var pricingCalculator = function (options) {
var target = {};
return target;
}
失败。
module.exports = pricingCalculator;
pricingCalculator = function (options) {
var target = {};
return target;
}
失败。好奇地想深入了解正在发生的事情。
最佳答案
在第一个示例中,函数是在赋值之前定义的(Java 脚本方式)。
在第二个和第三个示例中,赋值是按顺序执行的。
关于javascript - CommonJS 模块(使用 Nodejs),奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4563768/