模块

  • 10.1 总是使用模组 (import/export) 而不是其他非标准模块系统。你可以编译为你喜欢的模块系统。

    为什么?模块就是未来,让我们开始迈向未来吧。

    1. // bad
    2. const AirbnbStyleGuide = require('./AirbnbStyleGuide');
    3. module.exports = AirbnbStyleGuide.es6;
    4. // ok
    5. import AirbnbStyleGuide from './AirbnbStyleGuide';
    6. export default AirbnbStyleGuide.es6;
    7. // best
    8. import { es6 } from './AirbnbStyleGuide';
    9. export default es6;
  • 10.2 不要使用通配符 import。

    为什么?这样能确保你只有一个默认 export。

    1. // bad
    2. import * as AirbnbStyleGuide from './AirbnbStyleGuide';
    3. // good
    4. import AirbnbStyleGuide from './AirbnbStyleGuide';
  • 10.3 不要从 import 中直接 export。

    为什么?虽然一行代码简洁明了,但让 import 和 export 各司其职让事情能保持一致。

    1. // bad
    2. // filename es6.js
    3. export { es6 as default } from './airbnbStyleGuide';
    4. // good
    5. // filename es6.js
    6. import { es6 } from './AirbnbStyleGuide';
    7. export default es6;