全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解webpack介绍&安装&常用命令

webpack系列目录

webpack 系列 二:webpack 介绍&安装

webpack 系列 三:webpack 如何集成第三方js库

webpack 系列 四:webpack 多页面支持 & 公共组件单独打包

webpack 系列 五:webpack Loaders 模块加载器

webpack 系列 六:前端项目模板-webpack+gulp实现自动构建部署

基于webpack搭建纯静态页面型前端工程解决方案模板, 最终形态源码见github: https://github.com/ifengkou/webpack-template

正文

Webpack是一款用户打包前端模块的工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。主要是用来打包在浏览器端使用的javascript的。同时也能转换、捆绑、打包其他的静态资源,包括css、image、font file、template等

webpack的官网是 http://webpack.github.io/ ,文档地址是 http://webpack.github.io/docs/

市面已存在大量的模块管理和打包工具,为什么还重复造轮子,webpack有什么特色?

这些已有的模块化工具并不能很好的完成如下的目标:

  1. 将依赖树拆分成按需加载的块
  2. 初始化加载的耗时尽量少
  3. 各种静态资源都可以视作模块
  4. 将第三方库整合成模块的能力
  5. 可以自定义打包逻辑的能力
  6. 适合大项目,无论是单页还是多页的 Web 应用

webpack 特点

代码拆分

Webpack 有两种组织模块依赖的方式,同步和异步。异步依赖作为分割点,形成一个新的块。在优化了依赖树后,每一个异步区块都作为一个文件被打包。

Loader

 Webpack 本身只能处理原生的 JavaScript 模块,但是 loader 转换器可以将各种类型的资源转换成 JavaScript 模块。这样,任何资源都可以成为 Webpack 可以处理的模块。

智能解析

Webpack 有一个智能解析器,几乎可以处理任何第三方库,无论它们的模块形式是 CommonJS、 AMD 还是普通的 JS 文件。甚至在加载依赖的时候,允许使用动态表达式 require("./templates/" + name + ".jade")。

插件系统

Webpack 还有一个功能丰富的插件系统。大多数内容功能都是基于这个插件系统运行的,还可以开发和使用开源的 Webpack 插件,来满足各式各样的需求。

快速运行

Webpack 使用异步 I/O 和多级缓存提高运行效率,这使得 Webpack 能够以令人难以置信的速度快速增量编译。

总结下来其主要的优势:

1.按需加载模块,按需进行懒加载,在实际用到某些模块的时候再增量更新

2.webpack 是以 commonJS 的形式来书写脚本,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。

3.能被模块化的不仅仅是 JS 了,能处理各种类型的资源。

4.开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。

5.扩展性强,插件机制完善

安装

首先要安装 Node.js, Node.js 自带了软件包管理器 npm

用npm 安装webpack

$ npm install webpack -g

此时 Webpack 已经安装到了全局环境下,可以通过命令行 webpack -h 查看相关指令

通常我们会将webpack安装到项目依赖,这样就可以使用本地版本的webpack

//进入项目目录
//确定已有package.json,没有就npm init 创建
$ npm install webpack --save-dev

//查看webpack 版本信息
$ npm info webpack
//安装指定版本
$ npm install webpack@1.31.x --save-dev

如果要使用webpack开发工具,要单独安装 webpack-dev-server

$ npm install webpack-dev-server --save-dev

常用命令

webpack

构建命令,webpack的常用参数

$ webpack --config webpack.min.js //另一份配置文件

$ webpack --display-error-details //显示异常信息

$ webpack --watch //监听变动并自动打包
 
$ webpack -p //压缩混淆脚本,这个非常非常重要!
 
$ webpack -d //生成map映射文件,告知哪些模块被最终打包到哪里了

webpack-dev-server

webpack-dev-server是一个小型的node.js Express服务器,它使用webpack-dev-middleware中间件来为通过webpack打包生成的资源文件提供Web服务。它还有一个通过Socket.IO连接着webpack-dev-server服务器的小型运行时程序。webpack-dev-server发送关于编译状态的消息到客户端,客户端根据消息作出响应。

webpack-dev-server有两种模式支持自动刷新——iframe模式和inline模式

  1. 在iframe模式下:页面是嵌套在一个iframe下的,在代码发生改动的时候,这个iframe会重新加载
  2. 在inline模式下:一个小型的webpack-dev-server客户端会作为入口文件打包,这个客户端会在后端代码改变的时候刷新页面

使用iframe模式,无需额外配置,只需在浏览器输入http://localhost:8080/webpack-dev-server/index.html

使用inline模式有两种方式:命令行和nodejs API

1.命令行: 在运行时,加上 --inline 选项

$ webpack-dev-server --inline

访问,通过http://localhost:8080 就可以访问

2.nodejs API 方式 ,需要手动把 webpack-dev-server/client?http://localhost:8080 加到配置文件的入口文件处

webpac-dev-server支持Hot Module Replacement,即模块热替换,在前端代码变动的时候无需整个刷新页面,只把变化的部分替换掉

下章,就开始利用 Webpack 实现 前端项目的 自动构建部署!!

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


# webpack  # 安装  # 常用命令  # webpack独立打包和缓存处理详解  # Webpack执行命令参数详解  # 深入浅出webpack教程系列_安装与基本打包用法和命令参数详解  # 加载  # 客户端  # 有两种  # 第三方  # 命令行  # 按需  # 配置文件  # 就可以  # 有一个  # 都是  # 是一个  # 多页  # 有什么  # 很好  # 还可以  # 模式下  # 已有  # 也能  # 只需  # 其他的 


相关文章: 网站app免费制作软件,能免费看各大网站视频的手机app?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在香港服务器上快速搭建免备案网站?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  已有域名和空间,如何快速搭建网站?  如何做静态网页,sublimetext3.0制作静态网页?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在景安云服务器上绑定域名并配置虚拟主机?  深圳网站制作的公司有哪些,dido官方网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何获取免费开源的自助建站系统源码?  如何确保西部建站助手FTP传输的安全性?  建站OpenVZ教程与优化策略:配置指南与性能提升  山东云建站价格为何差异显著?  深圳网站制作培训,深圳哪些招聘网站比较好?  免费网站制作appp,免费制作app哪个平台好?  建站之星代理费用多少?最新价格详情介绍  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  宝塔Windows建站如何避免显示默认IIS页面?  html制作网站的步骤有哪些,iapp如何添加网页?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何生成腾讯云建站专用兑换码?  建站主机解析:虚拟主机配置与服务器选择指南  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  公众号网站制作网页,微信公众号怎么制作?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  C#如何使用XPathNavigator高效查询XML  ,在苏州找工作,上哪个网站比较好?  建站之星微信建站一键生成小程序+多端营销系统  手机网站制作与建设方案,手机网站如何建设?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  建站之星安装步骤有哪些常见问题?  如何快速生成可下载的建站源码工具?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  测试制作网站有哪些,测试性取向的权威测试或者网站?  如何选择香港主机高效搭建外贸独立站?  如何选择适配移动端的WAP自助建站平台?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  如何在阿里云部署织梦网站?  建站之家VIP精选网站模板与SEO优化教程整合指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。