首先 gul-babel 使用的时候只是支持 将 es6语法 降级成 es5语法,但是不支持我想用的 Map Promise async 等 es6+ 的 API,至少ie是不支持的,这就足够了。
所以怎么能支持呢 需要引入 babel-polyfill
如果我直接安装了babel-polyfill, 然后 require 引入? 这又会报错 require is not defined
原因是require语法, babel处理js文件时,只会把文件转化为commonjs语法 ,浏览器是无法使用的, 网上基本上都是让用 webpack 或者 browserify 工具进行转化
- 可以直接下载 babel-polifill , 直接用npm 安装不需要知道地址, 然后把babel-polifill直接拷贝出来, 用script标签引入 ,顺序要在你合并压缩的js 前面
- 另外的解决方法就是 使用webpack 或者 browerify 打包工具 ,打包一下,网上查了挺多资料, 好多是想让 babel-polyfill 用webpack 或者 browerify打包进js,
所以现在理解为什么使用 gulp + webpack 了
现在依然没有解决gulp怎么处理es6的Api还是等我学习webpack配置以后再来搞吧