当我们使用原生js去开发一个sdk工具或者库时,js文件常常含有一些es6语法,但浏览器对于es6语法存在兼容性问题,一些低版本的浏览器不支持,这该怎么办。
可以使用一些打包工具将es6语法转化成es5,我喜欢用以下工具rollup,babel来打包js文件,
我就使用过rollup打包开源项目xeokit-bim-viewr(bim模型),在开源项目上去做扩展功能。
其中rollup有个配置项format,可选有 amd,cjs,es,iife,umd
,umd 是通用模块定义,作为一个 JS 库要适用各个场景,应选择 umd ,如果使用其他格式的话可能会出现一些问题,如打包后的js方法覆盖window上的。
也可以使用babel来打包单个的js文件,在.babelrc做以下配置,使用命令:
npx babel static/lib --out-dir dist --presets=@babel/env
{
"presets": [
[
"@babel/preset-env",
{
"targets": "> 0.25%, not dead"
}
]
]
}