require('./functions.js')由于您不导出任何内容,因此该操作不会执行任何操作。您所期望的
testFunction是全球可用的,基本上与
global.testFunction = function() { return 1;}您只是 无法
绕过导出/全局机制。这是节点的设计方式。没有隐式的全局共享上下文(例如
window在浏览器上)。模块中的每个“全局”变量都被包含在其上下文中。
您应该使用
module.exports。如果您打算与浏览器环境共享该文件,则可以通过多种方法使其兼容。要进行快速黑客攻击,只需
window.module= {}; jQuery.extend(window, module.exports)在浏览器中或if (typeof exports !=='undefined'){ exports.testFunction = testFunction }对于节点执行即可。


