# Webpack4
## 安装
> webpack 4默认不需要配置文件(它吸收了Parcel的思想,零配置)
> - npm i -D webpack
> - npm i -D webpack-cli
## 使用
1.入口点/输出文件
```
//package.json
"scripts": {
"build1": "webpack"
}
//cmd
npm run build1
//报错: ERROR in Entry module not found: Error: Can't resolve './src' in '~/webpack-4-quickstart'
```
说明webpack4正在寻找./src中的入口点(入口点是webpack寻找开始构建Javascript包的文件)

**webpack 4中,不需要定义入口点和输出文件**

**webpack 4将./src/index.js作为默认入口点。 而且,它会在./dist/main.js中吐出这个包**

2.生产模式和开发模式
**webpack4无需任何配置文件**
**只需定义--mode标记,即可免费获得一切**
```
"scripts": {
"dev":"webpack --mode development",
"build":"webpack --mode production"
}
```
> webpack1/2/3一般拥有2个配置文件
> - 开发配置文件: 用于定义webpack dev服务器和其他东西
> - 生产配置文件: 用于定义UglifyJSPlugin和sourcemaps等

## 更多特性
> - sideEffects 设置 —— 在打包体积上巨大的胜利
> - 支持 JSON 和 Tree Shaking
> - 升级到 UglifyJS2
> - 模块类型的引入 + 支持 .mjs
> - javascript/auto: (在 webpack 3 默认启用) 启用了所有的 Javascript 模块系统:CommonJS,AMD,ESM
> - javascript/esm: EcmaScript 模块,所有的其他模块系统不可用(默认 .mjs 文件)
> - javascript/dynamic: 只有 CommonJS 和,EcmaScript 模块不可用
> - json: JSON 数据,它可以通过 require 和 import 来引入使用(默认 .json 的文件)
> - webassembly/experimental: WebAssembly模块(当前为 .wasm 文件的实验文件和默认文件)
> - 另外 webpack 现在支持查找 .wasm, .mjs, .js 和 .json 拓展文件来解析
> - 支持 WebAssembly
> - 去除 CommonsChunkPlugin

最新文章

  1. navicat在ubuntu下中文乱码的真正解决方法ZT
  2. ASP.NET MVC 3 CheckBoxList 的使用
  3. iOS开发数据库篇—FMDB简单介绍
  4. Manifest文件简介
  5. 用C语言扩展Python的功能
  6. Github、Jekyll 搭建及优化静态博客方法指南
  7. mysql for python,银行转账模拟
  8. 树莓派设置固定ip
  9. .Net 发邮件
  10. virtualbox 中安装win7虚拟机
  11. Zen Coding 快速编写HTML/CSS代码的实现
  12. svg滤镜学习
  13. Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
  14. SSM-网站后台管理系统制作(3)---Google的reCaptcha验证码
  15. ImportError: No module named MySQLdb问题的解决
  16. Java: 在不同windows主题下,JFrame窗口设置最佳高度的解决方案
  17. Win7 IIS 部署站点遇到的问题 如 HTTP 错误 404.XX
  18. MySQL出现Waiting for table metadata lock的场景浅析
  19. bzoj千题计划272:bzoj4557: [JLoi2016]侦察守卫
  20. 获取ASPxGridView 中的数据(仅仅是获取;注意模板是如何获取的)

热门文章

  1. Qt之QTemporaryFile
  2. Android实战简易教程-第二十八枪(Uri转String型实例)
  3. 一、奇妙插件Tampermonkey的简单安装教程
  4. HDU 4965 Fast Matrix Calculation(矩阵高速幂)
  5. mysql-通过例子解释四种隔离级别
  6. pydev 安装
  7. zzulioj--1827--石锅全拌(区间求和水题)
  8. python-网络-tcp
  9. centos6.9安装virtualenv并配置python2.7环境
  10. 学习Go语言之使用channel避免竞态问题