使用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 相关文章推荐
escape、encodeURI 和 encodeURIComponent 的区别
Mar 02 Javascript
ExtJS 2.0 实用简明教程之布局概述
Apr 29 Javascript
ejs v9 javascript模板系统
Mar 21 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
jquery获取节点名称
Apr 26 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
Angular2 组件通信的实例代码
Jun 23 Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 Javascript
新手简单了解vue
May 29 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
使用异步组件优化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获得文件扩展名三法
2006/11/25 PHP
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
Python创建xml的方法
2015/03/10 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
python opencv肤色检测的实现示例
2020/12/21 Python
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
安全检查验收制度
2014/01/12 职场文书
挂靠协议书范本
2014/04/22 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
学生会主席任命书
2015/09/21 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏