webpack相关笔记
文档地址:链接
文档: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属性

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

七: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相关笔记的更多相关文章
- 【原】webpack学习笔记
之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...
- webpack学习笔记一(入门)
webpack集成了模块加载和打包等功能 ,这两年在前端领域越来越受欢迎.平时一般是用requirejs.seajs作为模块加载用,用grunt/gulp作为前端构建.webpack作为模块化加载兼容 ...
- webpack入门笔记
此为第一篇主要是webpack入门笔记: http://if-true.com/2015/10/16/webpack-tutorial-translate.html
- webpack学习笔记--区分环境
为什么需要区分环境 在开发网页的时候,一般都会有多套运行环境,例如: 在开发过程中方便开发调试的环境. 发布到线上给用户使用的运行环境. 这两套不同的环境虽然都是由同一套源代码编译而来,但是代码内容却 ...
- webpack学习笔记--压缩代码
浏览器从服务器访问网页时获取的 JavaScript.CSS 资源都是文本形式的,文件越大网页加载时间越长. 为了提升网页加速速度和减少网络传输流量,可以对这些资源进行压缩. 压缩的方法除了可以通过 ...
- webpack 相关插件及作用(表格)
webpack 相关插件及作用: table th:first-of-type { width: 200px; } table th:nth-of-type(2) { width: 140px; } ...
- HTTPS证书申请相关笔记
申请免费的HTTPS证书相关资料 参考资料: HTTPS 检测 苹果ATS检测 什么是ECC证书? 渠道2: Let's Encrypt 优点 缺点 Let's Encrypt 的是否支持非80,44 ...
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...
- 学习webpack基础笔记01
学习webpack基础笔记 1.webpack搭建环境最重要的就是如何使用loader和plugins,使用yarn/npm安装插件.预处理器,正确的配置好去使用 2.从0配置webpack - 1. ...
随机推荐
- sys模块(二十一)
用于提供对Python解释器相关的操作: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Pyt ...
- 2018.9青岛网络预选赛(H)
传送门:Problem H https://www.cnblogs.com/violet-acmer/p/9664805.html 题意: BaoBao在一条有刻度的路上行走(哈哈,搞笑),范围为 [ ...
- CentOS 6.9/7通过yum安装指定版本的MySQL
一.安装CENTOS 6 # wget http://repo.mysql.com/mysql57-community-release-el6.rpm && rpm -ivh mysq ...
- 用 Vue 开发一个简单的答题应用(一)
Vue 之类的 MVVM 框架,能帮助我们用更少的代码实现复杂的业务. 为了简单一点,开发计划分成三阶段: 一,数据写死,实现基本的答题效果.支持多种题型. 二,使用本地存储保存数据,支持题目录入的功 ...
- JDBC中的那些设计模式
一.单例模式获取数据库连接 1.关于单例模式的定义 保证一个类仅有一个实例,并提供访问它的全局访问点.Java里面实现的单例是一个虚拟机的范围.因为装载类的功能时虚拟机,所以一个虚拟机在听过自己的Cl ...
- 启动eclipse弹出提示Version 1.7.0_79 of the JVM is not suitable for this product. Version: 1.8 or greater is required怎样解决
启动eclipse时弹出如下弹出框: 解决办法: 在eclipse安装目录下找到eclipse.ini文件,并在 -vmargs-Dosgi.requiredJavaVersion=1.8 前面加上 ...
- sublime js头部代码多行注释
安装 DocBlockr 插件,在写完function()的时候,在函数上面输入: /** + tab键(或回车键,Atom里不用另外安装插件,直接在函数的上面输入:/** + 回车键 即可).
- java序列化深拷贝【转】
java深拷贝 序列化和反序列化合成在一起的方法CloneUtils import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...
- .Net进阶系列(14)-异步多线程(async和await)(被替换)
1. 方法名前只有async,但是方法中Task实例前没有await关键字,该方法和普通方法没有什么区别,但是会报一个警告. #region 情况一 /// <summary> /// ...
- Keil4 几例异常解决办法
以下几个问题在Keil5上没有发现,不过因为下载的例子都是Keil4,强迫症让我用起了Keil4 错误一:main.c: Warning: C3910W: Old syntax, please use ...

