文档地址:链接

文档:https://doc.webpack-china.org/configuration/

慕课网地址:链接

参考地址:链接

1、webpack是一个前端打包工具,特点:代码分割(Code Splitting),Loaders,模块热更新

2、npm init

npm install webpack --save-dev
require('./world.js');//common.js方式
一、css-loader将css文件打包进js中,style-loader将js中的css输出到html中生成<style>标签。
二、css文件处理:
css-loader用来打包css文件
style-loader用来给html页面使用css
使用css-loader和style-loader前,要先安装
安装方法:npm install css-loader style-loader --save-dev
方式1:在js文件中,require('style-loader!css-loader!./style.css')。
方式2:在命令行中,webpack hello.js hello.bundle.js --module-bind "css=style-loader!css-loader"。 三、监听文件改变,自动打包:webpack hello.js hello.bundle.js --module-bind "css=style-loader!css-loader" --watch。
打包过程进度条:--progress。
显示打包进度条并显示打包的文件:--progress --display-modules。
打包原因:--display-reasons 四、webpack.config.js
没有webpack.config.js时,指定配置文件 webpack --config 配置文件.js
这个文件是webpack的默认配置文件,当运行wenpack的时候,自动查询这个文件 一些参数可以配置package.json里面,这样在cmd里面运行时就方便些

cmd运行:npm run webpack

五。webpack.config.js里面的一些配置

entry的相关知识:链接

output的相关知识:链接
三个占位符来区别不同文件:1、name 2、hash 3、chunkhash
hash和chunkhash的区别
hash:是每次打包的hash
chunkhash: 每个模块自己的hash值,可以理解为版本号,也可理解为md5值(保证每个文件的唯一性) 六、plugins 链接在项目中,配置中有时候用的是hash或者chunkhash的文件名,这样每次都要在html里面配置,太麻烦,所以引入了plugins
webpack.config.js里面
1、安装 npm install html-webpack-plugin --save-dev
2、引用 var htmlWebpackPlugin = require('html-webpack-plugin');
3、使用 添加 plugins:[new htmlWebpackPlugin({template:'index.html'})]

疑问:为什么我们指定template的index.html,就代表的是根目录下的index.html。原因是module.exprots里面,有个context上行文属性,默认指的是运行环境的上下文,而我们的运行环境是根目录,所以template的index.html指的是根目录下的index.html

inject表示js在head里面

htmlWebpackPlugin里面的title属性

index.html里面的写法

可以在 htmlWebpackPlugin里面写其他属性,然后传递到html中

如果想对打包的文件进行操作,可以再htmlWebpackPlugin里面的minify属性

参考:链接   链接1

现在这个是删除空格,效果是:

七:module(loaders)

配置要使用的loader。对文件进行一些相应的处理。比如babel-loader可以把es6的文件转换成es5。大部分的对文件的处理的功能都是通过loader实现的。loader就相当于gulp里的task。loader可以用来处理在入口文件中require的和其他方式引用进来的文件。loader一般是一个独立的node模块,要单独安装。

loader配置项:

test: /\.(js|jsx)$/,//注意是正则表达式,不要加引号,匹配要处理的文件
loader: 'eslint-loader',//要使用的loader,"-loader"可以省略
include: [path.resolve(__dirname, "src/app")],//把要处理的目录包括进来
exclude: [nodeModulesPath]//排除不处理的目录 postcss-loader里面的autoprefixer,处理浏览器前缀的后处理工具

webpack相关笔记的更多相关文章

  1. 【原】webpack学习笔记

    之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...

  2. webpack学习笔记一(入门)

    webpack集成了模块加载和打包等功能 ,这两年在前端领域越来越受欢迎.平时一般是用requirejs.seajs作为模块加载用,用grunt/gulp作为前端构建.webpack作为模块化加载兼容 ...

  3. webpack入门笔记

    此为第一篇主要是webpack入门笔记: http://if-true.com/2015/10/16/webpack-tutorial-translate.html

  4. webpack学习笔记--区分环境

    为什么需要区分环境 在开发网页的时候,一般都会有多套运行环境,例如: 在开发过程中方便开发调试的环境. 发布到线上给用户使用的运行环境. 这两套不同的环境虽然都是由同一套源代码编译而来,但是代码内容却 ...

  5. webpack学习笔记--压缩代码

    浏览器从服务器访问网页时获取的 JavaScript.CSS 资源都是文本形式的,文件越大网页加载时间越长. 为了提升网页加速速度和减少网络传输流量,可以对这些资源进行压缩. 压缩的方法除了可以通过 ...

  6. webpack 相关插件及作用(表格)

    webpack 相关插件及作用: table th:first-of-type { width: 200px; } table th:nth-of-type(2) { width: 140px; } ...

  7. HTTPS证书申请相关笔记

    申请免费的HTTPS证书相关资料 参考资料: HTTPS 检测 苹果ATS检测 什么是ECC证书? 渠道2: Let's Encrypt 优点 缺点 Let's Encrypt 的是否支持非80,44 ...

  8. Webpack学习笔记九 webpack优化总结

    webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...

  9. 学习webpack基础笔记01

    学习webpack基础笔记 1.webpack搭建环境最重要的就是如何使用loader和plugins,使用yarn/npm安装插件.预处理器,正确的配置好去使用 2.从0配置webpack - 1. ...

随机推荐

  1. 网络流 KM dinic

    study from: https://blog.csdn.net/A_Comme_Amour/article/details/79356220 1. Edmonds-Karp 无优化 最坏时间复杂度 ...

  2. theano使用

    一  theano内置数据类型 只有thenao.shared()类型才有get_value()成员函数(返回numpy.ndarray)? 1. 惯常处理 x = T.matrix('x') # t ...

  3. vs2013配置opencv2.4.13

    此方法配置简单,方便易行,解压opencv2.4.13后得到opencv文件夹,进行如下步骤: 1.添加环境变量 用户变量,新建,变量名opencv,值D:\opencv\build 系统变量,Pat ...

  4. loadrunner之Java Vuser协议脚本编写

    步骤:1.根据自己使用的lr版面选择jdk 1)LR11   1.6   32位 2)LR12   1.7   32位 2.安装好jdk,并搭建java环境变量,安装好java代码编写工具 3.在sr ...

  5. 在 chrome 上导出 pdf

    用html+css写出网页,然后在chrome上导出pdf 1. command + p:快捷呼出打印: 2. “目标打印机”:选择“更改”,之后选择“另存为PDF”: 3. 点“更多设置”,可以勾选 ...

  6. JAVA记录-redis缓存机制介绍(二)

    Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度 ...

  7. FZU 2254 英语考试

    在过三个礼拜,YellowStar有一场专业英语考试,因此它必须着手开始复习. 这天,YellowStar准备了n个需要背的单词,每个单词的长度均为m. YellowSatr准备采用联想记忆法来背诵这 ...

  8. u-boot移植(九)---代码修改---NAND

    一.NAND原理 NAND 无地址空间,地址和数据的发送都依赖于LDATA[0:7]这一串数据总线. 不看随机页编程,看到从高位到低位的页,总共分为64个页面,每个页的组成是2K + 64  个byt ...

  9. VS2013中修改MFC对话框左上角和exe图标

    一.开发环境 1.VS2013: 2.C++ / MFC: 二.更改步骤 1)创建一个新工程,可以什么都不加.打开“资源视图”, 右键点击项目名称,选择“添加资源”,导入“Icon”资源文件(事先准备 ...

  10. Python数据分析学习目录

    python数据分析学习目录 Anaconda的安装和更新 矩阵NumPy pandas数据表 matplotlib-2D绘图库学习目录