使用标准的 ES6 模块语法
import
和export
原因:模块是未来,让我们现在开始使用未来的特性
// bad const util = require('./util') module.exports = util // good import Util from './util' export default Util // better import { Util } from './util' export default Util
不要使用
import
的通配符*
,这样可以确保你只有一个默认的 export// bad import * as Util from './util' // good import Util from './util'
同个文件每个模块只允许
import
一次,有多个import
请书写在一起,eslint: no-duplicate-imports原因:这样可以让代码更易于维护
// bad import foo from 'foo' // … some other imports … // import { named1, named2 } from 'foo' // good import foo, { named1, named2 } from 'foo' // good import foo, { named1, named2 } from 'foo'
将所有
import
语句放在文件最前方,eslint: import/imports-first// bad import foo from 'foo' foo.init() import bar from 'bar' // good import foo from 'foo' import bar from 'bar' foo.init()
多行导入应该像多行数组和对象文字一样缩进
// bad import { longNameA, longNameB, longNameC, longNameD, longNameE } from 'path' // good import { longNameA, longNameB, longNameC, longNameD, longNameE } from 'path'
在模块
import
声明中禁止使用Webpack
的loader
语法,eslint: import/no-webpack-loader-syntax// bad import fooSass from 'css!sass!foo.scss' import barCss from 'style!css!bar.css' // good import fooSass from 'foo.scss' import barCss from 'bar.css'
文档更新时间: 2021-05-11 16:00 作者:姚连洲