文档地址:链接

文档: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. jdbc操作数据库(详细)

    JDBC是由java编程语言编写的类及接口组成,同时它为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言.利用JDBC可以将JAVA代码连接到oracle.DB2.SQL ...

  2. 解决QtCreator中文乱码

    在QT的菜单栏”Tools“ -> "Options" -> "Behavior" -> "File Encoding" ...

  3. SVN 错误:Error validating server certificate for 'https://xxxxxxx':443... Mac os svn客户端证书验证缓存 解决

    mac上的SVN今天突然间 不好使了 在进行SVN操作是报出警告信息 Error validating server certificate for 'https://xxxxxxx':443 - T ...

  4. 过滤选择器first与子元素过滤选择器first-child的区别

    1.表格代码如下: <table id="table"> <tr> <td>id</td> <td>name</t ...

  5. bzoj千题计划305:bzoj2565: 最长双回文串(回文自动机)

    https://www.lydsy.com/JudgeOnline/problem.php?id=2565 正着构造回文自动机 倒过来再构造一个回文自动机 分别求出以位置i开始的和结尾的最长回文串 # ...

  6. FastReport"Text"对象中的HTML标签介绍以及使用

    "Text"对象可以理解一些简单的HTML标签.标签可位于对象中的文本.在默认情况下,标签是禁用的,要启用这些HTML标签,可选择对象上下文菜单中的“Allow HTML tags ...

  7. Python排序算法之快速排序

    快速排序(quickSort) 快排的思想:首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序. 百度百 ...

  8. C# 面向对象的new关键字的使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  9. pyqt5的使用目录

    pyqt5的安装 我的第一个例子 标签控件QLabel的使用   按钮QPushButton 信号与槽 pyqt5模块介绍 pycharm活动模板  QObject 定时器  QWidget类-坐标系 ...

  10. [C++]求解三元一次方程组

    /** * author:johnny zen * date:2017-09-20 11:19 * function:Calculate Ternary system of equations * n ...