在globals.js中注释async不会影响它在服务中的使用

时间:2015-09-15 05:22:06

标签: node.js asynchronous sails.js

有人可以给我一些关于sails.js中globals.js的基本提示,我有以下问题。

  1. 我在globals.js中评论了async,我删除了在我的项目中安装的异步模块,现在在一个服务中我注释了行// var async = require('async');我的代码仍然适用于我使用async的地方,我是sails的新手并且探索使用globals.js,就像async被评论一样,任何用法都应该抛出错误“undefined”。
  2. 如何将自己的模块添加到globals.js?
  3. bootsrap.js与global.js有何不同?
  4. 感谢您的讨论和解释。

    谢谢

2 个答案:

答案 0 :(得分:1)

1)async是由Sails暴露给全局的模块。以下是负责它的代码(此处为完整代码 - https://github.com/balderdashy/sails/blob/a210b48667708bea687dd5ec61ce9e07ffc0c005/lib/app/private/exposeGlobals.js#L35

if (sails.config.globals.async !== false) {
  global['async'] = async;
}

您需要在async中将false设置为config/globals.js,然后您就无法拨打async

2)这不是框架问题。你只需要global['myModule'] = myModule但请不要这样做。

3)bootstrap.js是在风帆初始化之前调用的函数。

答案 1 :(得分:0)

好的,所以async默认在globals.js中注释,并且全局可用。当我取消注释并设置“async:false”时,我得到了我预期的错误。

error: Error (E_UNKNOWN) :: Encountered an unexpected error
ReferenceError: async is not defined