使用webpack编译es6代码的方法步骤


Posted in Javascript onApril 28, 2019

前言

团队使用的 webpack 功能很强大,有时候会碰到编译失败的情况,总得找工具的作者解决问题,自己很少去追究原因,感觉对于 webpack 的认知总是一知半解。因此,从本篇文章开始,自己从零开始配置 webpack,认真体验一下配置过程。文章内容过于简单,如果有 webpack 使用经验的人,就不用往下看啦。

版本说明

本文使用的 webpack 的版本为:4.30.0

开始搭建

本文的目的是使用 webpack 完成 es6 的编译,没想到过程过于简单。

安装 node 与 npm 镜像

安装 node
安装 npm 淘宝镜像

安装 webpack 与 webpack-cli

打开或者新建一个项目,使用命令行安装 webpack 与 webpack-cli:

$ cnpm install --save-dev webpack-cli

安装 es6 的编译组件

使用命令行安装 babel-loader:

$ cnpm install --save-dev babel-loader @babel/core @babel/preset-env webpack

创建文件目录

我创建的文件目录如下:

webpack-es6
 |- /dist
 |- index.html
 |- /src
 |- index.js

定义打包的入口与出口

项目目录下新建 webpack.config.js 文件,并按照文件目录配置打包的入口和出口:

const path = require('path');
module.exports = {
 entry: './src/index.js', // 定义入口 js ,也就是编译前的 js
 output:{
  filename:'index.js', // 定义打包输出的 js 的文件名
  path:path.resolve(__dirname,'dist') // 输出 js 的目录
 }
};

添加 js 文件的处理规则

在 webpack.config.js 文件中添加 js 文件的处理规则:

const path = require('path');
module.exports = {
 entry: './src/index.js', 
 output:{
  filename:'index.js',
  path:path.resolve(__dirname,'dist')
 },
 // 以下代码为新添加代码
 module:{
  rules:[
   {
    test: /\.js$/, // 匹配所有 js 文件
    loader: 'babel-loader' // 使用 babel-loader 处理 js 文件
   },
  ]
 },
};

添加 npm 脚本

在 package.json 文件中添加 npm 脚本:

{
 //... 省略代码
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "build": "webpack" // 添加此行,使用 build 命令代替 npx 命令
 },
 //... 省略代码
 }

配置完成

以上就完成了 webpack 打包 es6 的配置,此时的文件目录如下:

webpack-es6
 |- node_modules
 |- /dist
  |- index.html
 |- /src
  |- index.js
 |- package.json
 |- package-lock.json
 |- webpack.config.js

添加代码

接下来我们添加代码测试配置是否成功。

文件 ./src/index.js 添加代码:

class Class{
 constructor() {
 this.str = 'success';
 }
 appendToBody(){
 const p = document.createElement('p');
 p.innerHTML = this.str;
 document.body.appendChild(p);
 }
}
const obj = new Class();
obj.appendToBody();

文件 ./dist/index.html 添加代码:

</html>
<body></body>
<script src="./index.js"></script>
</html>

编译程序

运行命令行

$ npm run build

打开 index.html ,如果页面中有 success ,则说明 es6 编译完成。

总结

没想到 webpack 编译 es6 配置如此简单,下一步使用 webpack 编译 postcss 。

参考链接

webpack 中文网:www.webpackjs.com/

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Js 本页面传值实现代码
May 17 Javascript
jQuery温习篇 强大的JQuery选择器
Apr 24 Javascript
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
JS实现仿京东淘宝竖排二级导航
Dec 08 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
Jun 02 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
微信小程序实现循环动画效果
Jul 16 Javascript
vue自定义树状结构图的实现方法
Oct 18 Javascript
使用异步组件优化Vue应用程序的性能
Apr 28 #Javascript
详解微信小程序获取当前时间及日期的方法
Apr 28 #Javascript
vue自定义js图片碎片轮播图切换效果的实现代码
Apr 28 #Javascript
如何在微信小程序里面退出小程序的方法
Apr 28 #Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 #Javascript
详解小程序退出页面时清除定时器
Apr 28 #Javascript
详解在Javascript中进行面向切面编程
Apr 28 #Javascript
You might like
php注销代码(session注销)
2012/05/31 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php 发送带附件邮件示例
2014/01/23 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
为原生js Array增加each方法
2012/04/07 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
详解Webpack-dev-server的proxy用法
2018/09/08 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
Python中设置变量访问权限的方法
2015/04/27 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python模块future用法原理详解
2020/01/20 Python
Python类中self参数用法详解
2020/02/13 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
车间工艺员岗位职责
2013/12/09 职场文书
社区工作者先进事迹
2014/01/18 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
计算机求职信
2014/07/02 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2014年幼师工作总结
2014/11/22 职场文书
初中成绩单评语
2014/12/29 职场文书
投标承诺函格式
2015/01/21 职场文书