我最近构建了一个节点应用程序,并决定对其进行模块化。
我需要所有依赖项,声明一个在程序运行时由其他模块操作的数组,并在 app.js 文件中执行应用程序(该文件中不再有其他内容了)。这意味着所有模块化文件函数都应该发生在作用域链中,并且可以访问 app.js 中所需的包和变量,对吗?
但是,在 app.js 中定义和需要的包方法和变量会抛出未定义的错误。这意味着我正在创建的模块化文件无法访问我的 app.js 文件中所需的变量和包。
该程序在一个大型应用程序文件中运行良好。如果我将 app.js 中的所有依赖项和变量声明为全局变量,则代码可以正常工作。如果我需要每个文件中的包,则代码将起作用。
...所有这些解决方案都违背了模块化代码模式的目的...
您能否指导我参考一些资源,以使包和变量在节点应用程序的所有模块中都可用,而不会弄乱全局范围?
谢谢!