官网:https://www.webpackjs.com/css
具备必定功能的模块。html
打包后的文件。node
打包过程分割的代码块。webpack
能够从如下几个方面来理解webpack:web
Webpack 会递归的探索出 入口文件中所依赖的模块,并按照顺序 利用 Loader 进行处理。正则表达式
1.string数组
entry: "app.js";
1.Array<string>
数组中的每一项都会被打包,造成互不依赖的文件sass
entry: ["app.js","main.js"];
2.object服务器
entry: { [entryChunkName]: string | Array<string> }
对象中的每个属性都会被打包,造成互不依赖的文件app
entry: { index:['index.js','app.js'], vendor: 'vendor.js' }
便是你配置了多个入口文件,你也只能有一个输出点。
输出文件的目录。
绝对路径
输出的文件名,它通常跟你entry配置相呼应。
filename: "[name].bundle.js"
在项目中任何一个文件改动后就会被从新建立,而后webpack计算新的hash值
静态资源服务器访问路径,以index.html的路径为基准。
静态资源最终访问路径 = output.publicPath + 资源loader或插件等配置路径
publicPath 应该以/结尾,同时其它 loader 或插件的配置不能以/开头
配置了它,为非入口entry的模块命名,能够理解为须要被打包出来的文件命名。
以path路径为基准
异步模块: chunkFilename
同步模块:filename
配置模块如何解析。
extensions:自动解析肯定的扩展,省去你引入组件时写后缀的麻烦 alias:很是重要的一个配置,它能够配置一些短路径
对比 Node.js 模块,webpack 模块可以以各类方式表达它们的依赖关系,几个例子以下:
ES2015 import 语句 CommonJS require() 语句 AMD define 和 require 语句 css/sass/less 文件中的 @import 语句。 样式(url(...))或 HTML 文件(<img src=...>)中的图片连接(image url)
rules:也就是以前的loaderstest : 正则表达式,匹配编译的文件exclude:排除特定条件,如一般会写node_modules,即把某些目录/文件过滤掉include:它正好与exclude相反