浅谈Webpack打包工具的应用

时间: 2017-11-10阅读: 952标签: webpack

webpack 在前端工程中随处可见,当前流行的 vue, react, weex 等解决方案都推崇 webpack 作为打包工具。前端工具云集的时代,这是你值得选择的之一。

webpack的基本概念

webpack 是一个前端打包工具,希望解决前端工程中静态资源发版前的打包问题。以 javascript 作为载体,引入前端项目依赖的模块,最终通过 webpack 打包成为浏览器支持的文件。

webpack 官方示意图形象的表述了这一过程,在此借用:



webpack不是为取代gulp之类的工具

在前端社区看到有人讨论 webpack 是否会取代 gulp 之类的工具。 当使用过 gulp 和 webpack 之后,才能体会到这是一个不恰当的对比。

使用过 grunt 或者 gulp 之类的工具的伙伴可以回忆一下我们的使用场景,我们将 sass 编译,图片压缩,js 压缩,hash文件名等工作编成不同的任务,最后顺序执行。

webpack 的核心在于静态资源打包。gulp 的核心在于任务集成。两个工具,解决了前端工程中不同的问题。

我们完全可以结合 gulp 和 webpack 使用。

浏览器所支持的静态资源是有限的,webpack 旨在让项目中的静态资源都能得到支持。然而 webpack 只能识别 javascript,所有的文件(包含html,jpg,sass,etc.)都被作为模块。

entry

webpack 通过 js 创建项目中所有静态资源的依赖映射。entry 定义了 webpack 打包的入口文件。

output

output 定义了 webpack 打包文件的处理方式,output 配置指定了打包后文件的输出目录(output.path),文件名(output.filename)。

loader

模块加入项目依赖映射后,loader 定义了

plugin

plugin 为 webpack 提供了更多的自定义功能。


原文地址:http://jaylin.wang/2017/begin-use-webpack.html


Webpack重要知识点

为了使用tree shaking,需要满足以下条件:使用ES2015语法(即import和export),在项目package.json文件中,添加sideEffects入口,引入一个能够删除未引用代码(dead code)的压缩工具(minifier)(例如:UglifyJSPlugin)

提升webpack构建速度

减少resolve解析;把 loader 应用的文件范围缩小,只在最少数必须的代码模块中去使用必要的 loader;减少 plugin 的消耗,webpack 的 plugin 会在构建的过程中加入其它的工作步骤

什么是webpack?Webpack的核心概念

Webpack已经流行好久了,但很多同学使用webpack时还是一头雾水,一下看到那么多文档、各种配置、各种loader、plugin立马就晕头转向了。我也不例外,以至于很长一段时间对webpack都是一知半解的状态

webpack output

output输出口必须是个对象,因为它必须有两个属性:filename输出出去的文件的名字,一般都是bundle.js,path文件要输出出去到哪里,一般都是dist文件,那如果我们是多页面引用,那上面这个输出就不行了

Webpack 是怎样运行的?

在平时开发中我们经常会用到Webpack这个时下最流行的前端打包工具。它打包开发代码,输出能在各种浏览器运行的代码,提升了开发至发布过程的效率。主要包含入口(entry)、输出文件(output)、模式、加载器(Loader)、插件(Plugin)等几个部分

webpack Code Splitting浅析

Code Splitting是webpack的一个重要特性,他允许你将代码打包生成多个bundle。对多页应用来说,它是必须的,因为必须要配置多个入口生成多个bundle;对于单页应用来说,如果只打包成一个bundle可能体积很大,导致无法利用浏览器并行下载的能力

手把手教你写一个 Webpack Loader

webpack 只能理解 JavaScript 和 JSON 文件。loader 让 webpack 能够去处理其他类型的文件,并将它们转换为有效模块,以供应用程序使用,以及被添加到依赖图中。

Webpack有哪些常见的Plugin?他们是解决什么问题的

webpack 插件是一个具有 apply 属性的 JavaScript 对象。apply 属性会被 webpack compiler 调用,并且 compiler 对象可在整个编译生命周期访问

vue+webpack4多页面打包配置

多页面配置通常有两种形式,一种是多页面多配置,一种是多页面单配置。因为webpack(3.1以上)可以直接处理一个配置对象的数组,所以可以为每个页面单独写一份配置。

Webpack如何实现一个Loader?

loader定义: 用于对模块的源代码进行转换。loader 可以使你在 import 或\\\"加载\\\"模块时预处理文件,loader是一个node模块,编写loader时要遵循单一原则,每个loader只做一种\\\"转义\\\"工作

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全