文档地址:链接

文档: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. 洛谷 P4378 [USACO18OPEN]Out of Sorts S(树状数组求冒泡排序循环次数)

    传送门:Problem P4378 https://www.cnblogs.com/violet-acmer/p/9833502.html 要回宿舍休息了,题解明天再补吧. 题解: 定义一数组 a[m ...

  2. Iptables防火墙规则使用

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  3. 常用nginx rewrite重定向-跳转实例:

    1,将www.myweb.com/connect 跳转到connect.myweb.com rewrite ^/connect$ http://connect.myweb.com permanent; ...

  4. ElasticStack系列之二十 & 数据均衡、迁移、冷热分离以及节点自动发现原理与机制

    1. 数据均衡 某个shard分配到哪个节点上,一般来说,是由 ELasticSearch 自行决定的.以下几种情况会触发分配动作: 新索引的建立 索引的删除 新增副本分片 节点增减引发的数据均衡 在 ...

  5. git的基本操作---就看我这一篇就足够了!!!!!

    git操作项目的大致步骤. git init //初始化一个本地仓库. git add . //添加文件 git commit -m '提交内容' //提交到本地仓库 git status //查看状 ...

  6. tcp.validnode_checking踩过的坑

    对Oracle 检查ip合法性,就必须在服务器端的sqlnet.ora文件中设置如下参数 TCP.INVITED_NODES=(10.0.0.36,10.0.0.1,10.0.0.35) TCP.EX ...

  7. Java编程思想 学习笔记1

    一.对象导论 1.抽象过程 Alan Kay曾经总结了第一个成功的面向对象语言.同时也是Java所基于的语言之一的Smalltalk的五个基本特性,这些特性表现了纯粹的面向对象程序设计方式 1)万物皆 ...

  8. C# 比较不错的拓扑图控件

    群内有下载 616945527

  9. linux系统--用户和用户组

    一.用户和用户组的概念 用户:使用操作系统的人 用户组:具有相同系统权限的一组用户.在linux系统中可以存在多个用户组 1.1 /etc/group 这里存储当前系统中所有用户组的信息 每一行对应一 ...

  10. sql server存储过程简单的使用

    --创建存储过程 create proc test_proc @date datetime as select * from t_user where times between ),),),),' ...