模块

首先,Module 语法是 JavaScript 模块的标准写法,坚持使用这种写法。使用import取代require

  1. // bad
  2. const moduleA = require('moduleA');
  3. const func1 = moduleA.func1;
  4. const func2 = moduleA.func2;
  5. // good
  6. import { func1, func2 } from 'moduleA';

使用export取代module.exports

  1. // commonJS的写法
  2. var React = require('react');
  3. var Breadcrumbs = React.createClass({
  4. render() {
  5. return <nav />;
  6. }
  7. });
  8. module.exports = Breadcrumbs;
  9. // ES6的写法
  10. import React from 'react';
  11. class Breadcrumbs extends React.Component {
  12. render() {
  13. return <nav />;
  14. }
  15. };
  16. export default Breadcrumbs;

如果模块只有一个输出值,就使用export default,如果模块有多个输出值,就不使用export defaultexport default与普通的export不要同时使用。

不要在模块输入中使用通配符。因为这样可以确保你的模块之中,有一个默认输出(export default)。

  1. // bad
  2. import * as myObject from './importModule';
  3. // good
  4. import myObject from './importModule';

如果模块默认输出一个函数,函数名的首字母应该小写。

  1. function makeStyleGuide() {
  2. }
  3. export default makeStyleGuide;

如果模块默认输出一个对象,对象名的首字母应该大写。

  1. const StyleGuide = {
  2. es6: {
  3. }
  4. };
  5. export default StyleGuide;