Skip to content

lvzhenbang/webpack-play

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webpack-play

注:webapck的生态圈很大,也很完善,但正因为大,而让人变得无所适从。webpack-play让使用webapck变得轻松起来。不夸张的说,webapck可以处理你开发中的所有问题。

初探

webpack 入门可以让你快速的上手webapck。

需要webapck做什么工作?

处理css文件块

要实现css代码以内联的方式被*.html文件引用。可参考css-loader & style-loader];

要实现css代码被分为独立的文件,可以通过<link>元素被*.html文件引用。可参考ExtractTextWebpackPlugin

处理图片和字体

url-loader可以解决图片或字体是被合并到构建输出的文件中,还是分离出来。但它只能处理url();如果要处理<img src="...">,可参考CopyWebPackPlugin

使用js新特性

babel-loader可以满足你的需求,同时满足浏览器的兼容需求。

规范开发中的代码

如果是js代码,可以参考 eslint-loader与Javascript语法检测 `这篇文章;

如果是css代码,可参考 stylelint-loader与css语法检测 `这篇文章。

进阶

两前端个技术生态

css和js作为web开发的重要组成部分。

  • 有一个babel可以实现ES(JavaScript标准)新语法特性转换到指定语法特性;可参考babel这篇文章。
  • 有一个postCss也可以实现css样式的转换。可参考postcss

注:babel handbook

使用typescript

  • 限制javascript的灵活性(数据类型),从避免错误。参考文档demo

函数化编程

*.js模块的函数化编程

我们所熟知的是函数化编程可以极大程度的缩减JavaScript代码量。

css的函数化编程

如果css也能实现函数化编程,那么css的代码量也将急剧减小,sassstylus等css扩展语言成为了首选。可参考css-extend这篇文章。

html的函数化编程

一致比较流行的是*.ejs*.pug。我个人常用的是pug,参考示例webpack4.x-multi-page

webpack的函数化编程

可参考webpack4-demo

辅助开发工具

目录

webapck优化构建输出

当你需要对构建输出的大小进行优化时,可以从如下两个方面入手:

webpack自己的

  • 代码分离。可参考code-splitting

  • tree-shaking。require.sureimport

webapck实现最小化构建输出

目录

开发模式与效率

WebpackPWA

Service Workersworkbox

常用loader

目录

其他的loader

目录

webpack内置插件

目录

webpack4.x 改变的内置插件

目录
  • SplitChunkPlugin // 提取各模块间的共用代码,它替代了CommonsChunkPlugin插件
  • webpack4.x移除了UglifyJsplugin,而引入了MinChunkSizePlugin插件;

webpack 外载插件

目录

多页面应用创建

目录

其他

目录

学习资料

LICENSE

MIT

Copyright (c) 2018-1-11 present, Zhenbang Lv

Releases

No releases published

Packages

No packages published