1 webpack 的不同点:

  1.1 实现代码分割

  1.2 loaders

  1.3 plugin system

2 webpack 打包css,需要使用css-loaders 使webpack识别css文件,第二步需要使用style-loaders使css文件可以加载到html中的style

3 Babel配置选项非常多,单一的在webpack.config.js中进行配置,会使文件太复杂,可以把Babel的配置放在.babelrc文件中进行单独配置,webpack.config.js会自动调用.babelre中的babel配置选项

4 webpack.config.js是webpack的默认配置文件,打包时会自动调动,可以使用 webpack -config 自定义设置webpack的配置文件

5 PostCSS,我们使用PostCSS来为css代码自动添加适应不同浏览器的css前缀。需要安装postcss-loader autoprefixer

//webpack.config.js
module.exports = {
...
module: {
rules: [
{
test: /\.css$/,
use: [
{
loader: "style-loader"
}, {
loader: "css-loader",
options: {
modules: true
}
}, {
loader: "postcss-loader"
}
]
}
]
}
}
// postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')
]
}

6 HtmlWebpackPlugin 这个插件是依据一个简单的index.html模板,生成一个自动引用你打包后的JS文件的新的index.html.这在每次生成的js文件名称不同时非常有用(比如添加了hash值)。

新建一个index.html的模板文件,比如是index.tmpl.html

修改webpack.config.js配置文件

const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
...
plugins: [
    ...
new HtmlWebpackPlugin({
template: __dirname + "index.tmpl.html"
})
],
};

在编译过程中index.html会根据index.tmpl.html模板生成最终的html页面

7 热加载模板

1 在webpack配置文件中添加HMR插件

2 在Webpack Dev Server中添加“”hot“参数

8 一些优化插件

occurenceOrderPlugin:为组件分配id,通过这个插件webpack可以分析和优先考虑使用最多的模板,并未它们分配最小的ID

UglifyJsPlugin:压缩js代码

ExtractTextPlugin:分离css和js文件

(

new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin(),
new ExtractTextPlugin("style.css")

)

9 clean-webpack-plugin 每次打包修改的文件会生成不同的打包文件,clean-webpack-plugin 可以清除残余的文件

10  使用loaders

Loaders特性

loader支持链式传递。能够对资源使用流水线。一组链式的loader将按照相反的顺序执行。loader链中的第一个loader返回值给下一个loader。在最后一个loader,返回webpack所预期的JavaScript。

loader可以是同步的,也可以是异步的。

loader运行在Node.js,并且能够执行任何可能是操作

loader接收查询参数。用于对loader传递配置

loader也能够使用options对象进行配置

除了使用package.json常见的main属性,还可以将普通的npm模板导出为loader,做法是在package.json里定义一个loader字段

插件可以为loader带来更多特性

loader能够产生额外的任意文件

什么是webpack 模块

对比Node.js模块,webpack模块能够以各种方式表达他们的依赖关系,几个例子如下:

1 ES2015 import语句

2 CommonJS require()语句

3 AMD define和require语句

4 css/sass/less文件中的@import语句

5 样式url(...)或HTML文件(<img src=...>)中的图片链接

webpack 知识点总结的更多相关文章

  1. webpack 知识点

    安装 webpack npm install -g webpack npm install -g webpack-cli@2.x 初始化项目 npm init -y npm install --sav ...

  2. webpack知识点散记

    1.今天学习webpack  ,刚开头就碰到了钉子,因为现在都是4+的版本,用以前的老命令不好使,如下例子及解决办法 不好用:  webpack3的   打包文件   webpack a.js b.j ...

  3. webpack知识点整理

    作用域 es6里模块化的写法 会存在的问题,变量.方法名字雷同,外部文件调用的时候出现问题 如 a.js里 var a='susan' b.js里 var a='jack' 问题解决方案,添加包裹 a ...

  4. 深入浅出的webpack构建工具---webpack基本配置(一)

    深入浅出的webpack构建工具---webpack基本配置(一) 阅读目录 一:webpack入门构建: 1. 安装webpack到全局 2. 安装webpack到本项目. 3. 如何使用webpa ...

  5. 深入理解webpack基本配置(一)

    1. 安装webpack到全局 在学习构建之前,我们来在本地文件新建一个存放项目的文件夹,比如叫demo1这个项目,然后进入demo1该项目的根目录后,执行命令 npm init运行下,一路回车(先简 ...

  6. 深入了解webpack前,可以了解的小知识点。

    阅读前:文章大概是写,简单用过webpack,想继续深入了解webpack前需要了解的知识.但文章内容跟webpack使用关系并不大. 文章概要: Object.defineProperty call ...

  7. webpack 4 基础知识点梳理

    目录 webpack安装 webpack配置文件 webpack核心概念 entry output loader plugins sourceMap webpack-dev-server 跨域 &am ...

  8. webpack基础知识点

    webpack 是一个现代的 JavaScript 应用程序的模块打包器(module bundler). 入口(Entry) webpack 将创建所有应用程序的依赖关系图表(dependency ...

  9. 27、前端知识点--webpack面试题(二)

    webpack面试题总结 本文主要是对webpack面试会常被问到的问题做一些总结,且文章会不断持续更新 1.webpack打包原理 把所有依赖打包成一个 bundle.js 文件,通过代码分割成单元 ...

随机推荐

  1. Html5学习笔记1 元素 标签 属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 自己定义一个Dialog样式的Activity窗体,切换到Dialog的方法

    首先定义一个style 在style里面加入 <style name="MyDialog" parent="@android:Theme.Dialog"& ...

  3. RobotFramework --RIDE介绍

    RIDE是robotframework的图形操作前端,我们在RIDE上进行测试用例设计和编写测试脚本,并执行自动化测试.下面来全面的认识下这个操作工具. 在右边编辑页面有三大模块,Edit,TextE ...

  4. selenium之 chromedriver与chrome版本映射表(更新至v2.29)

    最新的chromedriver与chrome的对应关系表: chromedriver版本 支持的Chrome版本 v2.37 v64-66 v2.36 v63-65 v2.35 v62-64 v2.3 ...

  5. 如何获取ipa 包的图片

    突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用用, ...

  6. xcode升级到6.0以后遇到的警告错误解决方法

    Xcode 升级后,常常遇到的遇到的警告.错误,解决方法 从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了.1,警告:“xoxoxoxo”  is depreca ...

  7. 索引大小 975.45 MB (1,022,836,736)

    975.45 MB (1,022,836,736)

  8. Redis(三)位图

    1.目录 什么是位图 位图的作用 基本使用 2.什么是位图 位图不是一个真实的数据类型,而是定义在字符串类型上的面向位的操作的集合.由于字符串类型是二进制安全的二进制大对象,并且最大长度是 512MB ...

  9. ElasticSearch(十二)批量查询mget

    1.批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减 ...

  10. 有关SharedPreference的使用

    1.不要使你的文件过大 Sp 在创建的时候会吧整个xml问文件全部载入内存,如果你的文件比较大: 1.第一次从sp取值时,会阻塞主线程,使页面卡顿. 2.解析sp的时候会产生大量的临时对象,导致频繁G ...