前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >webpack es6转es5_nodejs支持es6吗

webpack es6转es5_nodejs支持es6吗

作者头像
全栈程序员站长
发布2022-11-08 18:44:33
4560
发布2022-11-08 18:44:33
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

万恶的IE遗臭万年仍然需要填坑

  • ie标准对html/css甚至js的规范简直相差甚远,所以,一般要解决的兼容问题很大一部分是为了解决ie的不兼容,虽然目前流行的ES6语法及规范将IE的考虑抛弃掉,默认放弃对IE的治疗,但是IE的兼容仍然是个问题!即使IE的使用率已经不到1%的市场占比。
  • 我们使用着舒服的ES6规范但是为IE又很头疼怎么办呢?Webpack开发了非常厉害的打包转换功能:转ES5!

随便来个ES6代码

  • 就写个let声明和遍历:
代码语言:javascript
复制
console.log("webpack 1");
let date = ["hello", "world", "this", "is", "es6", "code"];

((theDate) => { 
   
    theDate.forEach(item => console.log(item));
})(date)
在这里插入图片描述
在这里插入图片描述

这是在Chrome浏览器里的结果

在这里插入图片描述
在这里插入图片描述

这是在火狐浏览器的结果:

在这里插入图片描述
在这里插入图片描述

这是ie11浏览器的结果:

在这里插入图片描述
在这里插入图片描述

完全不出意料哈!我们来转一转。

  • 这里我们先做一个修改,用导入的办法把ES6代码挪到打包的js代码文件中: 原index.js:
代码语言:javascript
复制
console.log("webpack 1");
let fun = () => { 
   
    let date = ["hello", "world", "this", "is", "es6", "code"];
    date.forEach(item => console.log(item));
}
//fun() //结果依然刚才一样
export default fun;//es6导出函数,es6模块化知识

Can’t find @babel/core 问题

  • 以前安装打包需要的插件或者说是工具包:
代码语言:javascript
复制
npm install babel-core babel-loader babel-preset-es2015 --save-dev
#因为是开发测试环境,就加了dev,各自根据需要更改保存参数
  • 没错,因为版本兼容问题,最新的8.x版本babel-loader读取babel-core发生了改变,因此我们要安装对应匹配的版本:
代码语言:javascript
复制
#webpack 4.x | babel-loader 8.x | babel 7.x 最新版本
npm install -D babel-loader @babel/core @babel/preset-env
#webpack 4.x | babel-loader 7.x | babel 6.x 版本
npm install -D babel-loader@7 babel-core babel-preset-env webpack
  • 我这里使用的是7.x版本:
在这里插入图片描述
在这里插入图片描述
  • 创建babel工具的配置文件:.babelrc
代码语言:javascript
复制
{ 
   
    "presets": [
        "es2015"
    ], 
    "plugins": []
}
在这里插入图片描述
在这里插入图片描述
  • 配置打包规则:
代码语言:javascript
复制
module: { 
   
    rules: [{ 
   
        test: /\.js$/,
        use: 'babel-loader',
        exclude: /node_modules/
    }]
}
在这里插入图片描述
在这里插入图片描述
  • webpack执行,生成test.html
在这里插入图片描述
在这里插入图片描述
  • 浏览器的效果: Chrome
在这里插入图片描述
在这里插入图片描述

IE

在这里插入图片描述
在这里插入图片描述

代码成功在IE上运行了

  • 我们再看看打包转换成的es5长啥样:
在这里插入图片描述
在这里插入图片描述

es6转es5到此结束。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月25日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 万恶的IE遗臭万年仍然需要填坑
  • 随便来个ES6代码
    • Can’t find @babel/core 问题
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档