1.0.1 • Published 6 years ago
fis3-hook-babel-imweb v1.0.1
fis3-hook-babel-imweb
fis3 插件
在parse
阶段之后,扫描文件内容,根据某些 es6 特性规则判断文件内容是否使用了 es6 语法
如果判定是,则使用fis3-parser-babel-imweb
插件对文件内容进行babel
编译
如果判定否,则不做任何事情
Install
npm install fis3-hook-babel-imweb
Usage
add this code to fis.conf
fis.hook('babel-imweb', {
shutup: true,
babelOpts: {
sourceMapRelative: true
}
});
检测顺序:
1. file.notHookBabel
为真时,直接返回
2. 不是js类型文件(即!file.isJsLike
),直接返回
3. 文件后缀为.es6.js
时,编译
4. 文件头注释有useES6: true
时,编译
5. 根据参数检测文件内容,符合时,编译
options
defaultCheckRegList
Array: 默认正则检测列表,默认值为
[/useES6:\s*true/, /^\s*(import|const|let|export)\s|=>\s*\{|[^"']`[^`]*\$\{[^`}]+\}[^`]*`|\sclass\s+\w+\s+(extends\s+\w+\s+)?\{/m]
默认检测 es6 语法:const
, let
, import
, export
, class
, =>
, ``
还检测了 useES6: true
,可以在文件头注释里面添加这个强制编译
checkRegList
Array: 正则检测列表,需要新增一些检测规则的可以添加这个参数,先检测defaultCheckRegList
的正则,再检测这里的defaultCheckFnList
Array: 和defaultCheckRegList
一样,只是这里放的是函数,函数签名:Boolean function(String content)
,返回是否包含 ES6 语法,目前默认值为[]
checkFnList
Array:checkRegList
一样,只是这里放的是函数。shutup
Boolean: 是否关闭展示编译了哪些文件babelOpts
Object:fis3-parser-babel-imweb
插件使用到的参数,目前只有sourceMapRelative
这个参数可以用