2016-02-29 163 views
1

假设我需要一个承诺模块,并且我在多个文件中使用它,我将所有这些文件包含在app.js中。我是否必须在每个模块中都使用require模块?有没有办法将它传递给导入的模块?在多个文件/模块中使用相同的模块

回答

1

是的,你应该在每个使用它的文件的顶部放置一个var Promise = require('bluebird')声明。这是node/commonjs如何表达依赖关系。有时候人们最初会想回到全局变量,只需要一个文件中的某些东西,并在其应用程序中的每个其他文件中隐含/全局可用,但是作为一个行业,我们在这两种方法上都有数年和数年的时间以及通过require陈述的显式依赖关系使得依赖管理更加整体上更易于管理。在自动化工具(browserify,webpack等)的情况下尤其如此。

+0

所以这是我应该做的'var Promise = require('bluebird') var data = require('./ google-spreadsheet-data')(Promise)'? – ilyo

+0

没有。只需将var Promise = require('bluebird')'放在每个使用它的文件的顶部。 –

相关问题