3.9 require 文件夹,而不是文件

TL;DR: 当在一个文件夹中开发库/模块,放置一个文件index.js暴露模块的 内部,这样每个消费者都会通过它。这将作为您模块的一个接口,并使未来的变化简单而不违反规则。

否则: 更改文件内部结构或签名可能会破坏与客户端的接口。

代码示例

  1. // 建议
  2. module.exports.SMSProvider = require('./SMSProvider');
  3. module.exports.SMSNumberResolver = require('./SMSNumberResolver');
  4. // 避免
  5. module.exports.SMSProvider = require('./SMSProvider/SMSProvider.js');
  6. module.exports.SMSNumberResolver = require('./SMSNumberResolver/SMSNumberResolver.js');