【webpack】使用webpack进行ES6开发
来源:互联网 发布:数据库实时备份 编辑:程序博客网 时间:2024/06/08 16:45
本文主要介绍webpack的基本原理以及基于webpack搭建前端项目工程化解决方案的思路。
目录:
- 为什么要用webpack
- webpack的安装
- webpack的配置
github上的小例子
1、webpack入门
Webpack将项目中用到的一切静态资源都视之为模块,模块之间可以互相依赖。Webpack对它们进行统一的管理以及打包发布,其官方主页用下面这张图来说明Webpack的作用:
Webpack的目标就是对项目中的静态资源进行统一管理,为产品的最终发布提供最优的打包部署方案。
Webpack出自facebook的Instagram团队,在网上找到了比较好的对它主要特性的归纳,如下:
- webpack 是以 commonJS 的形式来书写脚本滴,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。
- 能被模块化的不仅仅是 JS 了。
- 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。
- 扩展性强,插件机制完善,特别是支持 React 热插拔(见 react-hot-loader )的功能让人眼前一亮。
2、webpack的安装
首先,建立目录文件,这里为了介绍方便,建立一个简单的如下的目录:
/web根目录-es6 main.js Person.jsindex.htmlwebpack.config.js
es6 里面存放的是 ES6 风格的代码,main.js 是入口文件, index.html 是首页, webpack.config.js 是 webpack 的配置文件。
首先要安装node,接着在命令行,进入你的目录,输入如下命令:
npm install webpack -g npm install webpack --sava-dev
使用 babel 对 ES6 风格的代码进行转换,所以要安装babel-loader 加载器,在命令行输入如下命令:
npm install babel-loader --save-dev //安装 babel-loadernpm install babel-preset-es2015 --sava-dev //安装转码规则
3、webpack配置
打开 webpack.config.js,编辑如下:
var path = require('path');module.exports = { entry: "./es6/main.js",//入口文件 output: {//打包输出的文件 path: __dirname, filename: "bundle.js" }, module: { loaders: [ { test: path.join(__dirname, 'es6'), loader: 'babel-loader', query: { presets: ['es2015'] } } ] }, resolve: {// 现在你require文件的时候可以直接使用require('file'),不用使用require('file.coffee') extensions: ['', '.js', '.json', '.coffee'] }}
module.exports导出的对象即是 webpack 的配置对象,其中:
entry 是入口文件
output 是输出文件,这里的 filename 给的是 bundle.js,也就是当 webpack 运行完之后将生成一个 bundle.js 文件
loaders 是使用到的所有加载器,在 gulp 里面我们都是使用的是 gulp 的一些插件比如 gulp-rename、gulp-concat 等等,在 webpack 里面类似,使用的是各种 loaders,详细的 loaders 列表在这里 。
4、相关代码
/es6/main.js
import Person from './Person.js';let p = new Person ('张三',20);document.write(p.say());
index.html
在这里就可以直接引用 bundle.js 了。
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>测试页面</title></head><body> <script src="bundle.js"></script></body></html>
详情请移步github ES6学习
我最初接触webpack是因为之前在实习的时候,要用react,当时接触过webpak,当时的配置是师父配置的,具体配置见 之前博客
附上我个人觉着不错的入门教程:
1、深入浅出React(二):React开发神器Webpack
2、一小时包教会 —— webpack 入门指南
3、webpack how to
- 【webpack】使用webpack进行ES6开发
- 使用webpack 进行ES6开发
- 使用 Webpack 和 ES6 进行 React 开发
- 使用webpack搭建react ES6开发环境
- 使用webpack打包ES6代码
- 使用 webpack + react + redux + es6 开发组件化前端项目
- 使用 webpack + react + redux + es6 开发组件化前端项目
- 使用 webpack + react + redux + es6 开发组件化前端项目
- 使用 webpack + react + redux + es6 开发组件化前端项目
- 使用 webpack + react + redux + es6 开发组件化前端项目
- 使用webpack进行打包
- Webpack+React+ES6开发模式入门指南
- webpack+ES6+react搭建简单开发环境
- webpack+ES6+less开发环境搭建
- 搭建es6+react开发环境---webpack
- React+Webpack+ES6组合开发环境部署
- webpack-使用babel-loader转化ES6代码
- webpack.config.js中使用ES6语法
- 读书笔记:文件write及换行显示
- 上传代码到cocoapod
- ASP.NET(C#)常用数据加密和解密方法
- LBP简介
- android RecycleView的使用
- 【webpack】使用webpack进行ES6开发
- 【React-Native】学习指南
- memcached全面剖析–4. memcached的分布式算法
- HTTP 工作原理
- Qt Quick实现底部导航
- 文本输入框等字数统计【文字可包含中文/英文/符号/标点等】
- [转]某公司的几道面试题
- 阅读程序(5)
- 调整数组顺序使得奇数位于偶数前面