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

有人可以给我一些关于sails.js中的globals.js的小技巧,我有下面的问题。

  1. 我在globals.js中评论为asynchronous,我已经删除了安装在我的项目中的asynchronous模块,现在在一个服务中,我评论了一行// var async = require('async'); 我的代码仍然有效,我曾经使用过asynchronous,我是新的风帆和探索使用globals.js,就像是如果async被评论任何用法应该抛出一个错误“未定义”。
  2. 如何将我自己的模块添加到globals.js?
  3. bootsrap.js与global.js有什么不同?

感谢您的讨论和解释。

谢谢

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; } 

你需要在config/globals.js设置asyncfalse ,然后你不能调用async

2)这不是一个框架的问题。 你只是让global['myModule'] = myModule但不要这样做,请。

3) bootstrap.js是一个在sails初始化之前调用的函数。

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

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