对于前端开发来说,现在使用的 JavaScript 版本一般都是 ES6+,但又因为浏览器的兼容性问题,我们需要进行代码转换。使用 Babel 工具将 ES6+ 版本的 JavaScript 代码转换为低版本的 JavaScript 代码。但是,有些情况下,我们并不希望将所有的代码都进行转换。这时,一个名为 poly-exclude 的 npm 包就能帮我们解决这类问题。
简介
poly-exclude 是一个可以在 babel 转换时,只将我们指定的代码转换为低版本 JavaScript 代码的 npm 包。他利用 babel 插件, 通过”// @exclude” 注释,从而解析出哪些代码需要被忽略掉,不进行转换。
安装
安装 poly-exclude 很容易, 在项目中执行下列命令即可:
npm install poly-exclude -D
配置
我们需要给 Babel 配置 poly-exclude 插件以使其能够工作。在 .babelrc 文件中,我们增加如下配置:
{ "plugins": [ ["poly-exclude", {"exclude": ["feature-x", "feature-y"]}] ] }
在这里我们使用了 poly-exclude 的时候,需要在 .babelrc 文件的 plugins 列表中增加一个包含 ['poly-exclude', options] 的插件配置。 在 options 中的 exclude 属性中,传入所有需要被忽略掉的代码块列表。
示例代码
下面,我们来看看具体的使用,以及参考代码。
function featureA () { console.log('This is feature A.'); } // @exclude function featureB () { console.log('This is feature B'); }
这里我们声明了两个函数, featureA 和 featureB。如果我们想要忽略掉 featureB 的代码,让其不被转换,我们只需要将其前面加上 ”// @exclude” 注释即可,如下所示:
function featureA () { console.log('This is feature A.'); } // @exclude function featureB () { console.log('This is feature B'); }
在进行 babel 转换的时候, poly-exclude 将会识别出带有 ”// exclude” 注释的代码片段,只对 featureA 函数进行转换, featureB 函数的代码不进行转换。
总结
通过本文的介绍,我们了解到了使用 poly-exclude 解决代码转换兼容性问题的方法。我们需要将其安装后,配置到项目中,然后使用注释的方式标记出希望忽略的部分代码,从而使其不进行转换。在使用时,我们可以根据需要配置 ”exclude” 属性,使其更加具有灵活性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005539e81e8991b448d0d94