webpack配置项太多了,我的学习目标就是知道什么是webpack,它干嘛的,基础操作,下面开始。
了解webpack原理和概念
树结构:在一个入口文件中引入所有资源,形成所有依赖关系的树状图
模块:任意一个功能模块,例如es6模块,资源模块等等
chunk:打包过程中被操作的模块文件叫做chunk,例如异步加载一个模块就是一个chunk
bundle:bundle是最终打包后的文件,最终文件可以和chunk长得一模一样,但是大部分情况下它是多个chunk的集合
webpack.config.js的文件配置
const {resolve} = require('path'); module.exports = { /* * 1 entry 入口 指webpack以哪个文件作为入口起点开始打包,分析构建内部依赖图 * */ entry:'./src/index.js', /* * 2 output 输出 指webpack打包后的资源bundle输出到哪里,以及如何命名 * */ output:{ fileName:'build.js', path: resolve(__dirname,'build') //代表当前文件根目录下 }, /* * 3 loader webpack本身只能处理js模块,如果要处理其他类型的文件就需要使用loader进行转换。所以如果我们需要在应用中添加 css 文件,就需要使用到 css-loader 和 style-loader, * */ module:{ loaders: [ { test: /\.css$/, loader: "style-loader!css-loader" } ] }, /* * 4 plugins 插件 用于执行范围更广的任务,插件的范围包括 从打包优化和压缩一直到重新定义环境中的变量等 * */ plugins:[ new webpack.BannerPlugin('菜鸟教程 webpack 实例') ], /* * 5 mode * 开发模式(development) 配置比较简单,能让代码本地运行即可 * 生产模式(production) 线上模式,代码一定是最优化且无bug的 * */ mode:'development' };
具体的还有多入口和多出口配置 打包css/html/less/sass资源等等,后续再补,关于webpack的安装和配置可以参考菜鸟教程的这篇
https://www.runoob.com/w3cnote/webpack-tutorial.html