例如,我posts.js
有一个将后期数据添加到SQLite数据库的函数,所以我需要在该文件中要求sqlite
库。
但如果我有另一个名为comments.js
的文件,其中包含添加评论数据的函数,我需要再次要求该文件中的sqlite
库。
这就是我现在正在做的事情,也是我能弄清楚如何让它发挥作用的唯一方法。有一个更好的方法吗?例如,需要主文件中的sqlite
库,并且能够在posts.js
和comments.js
中使用它?
答案 0 :(得分:0)
你这样做的方式没有错。这是人们使用require
的方式。
如果您在主文件中需要sqlite
,则无法使用它,因为其他文件丢失undefined
时出现sqlite
错误。
答案 1 :(得分:0)
您可以在sqlite
中设置main.js
连接,如下所示:
global.db = require('sqlite');
然后它将在所有其他文件中提供
答案 2 :(得分:0)
自从执行模块代码之前没有办法,Node.js将使用函数包装器将其包装起来,以保持顶级变量作用于模块而不是全局对象。
但是,您可以在全局变量中设置它:global.sqlite = require('sqlite');
但是您不应该这样做以避免输入'要求'。
你应该尝试使用一些设计模式,如依赖注入。