entry:打包入口

代码的入口,找到依赖模块

打包的入口,webpack去哪个文件找依赖,或是去那个文件依赖的依赖

可以是一个或者多个入口

例如:

1.module.exports={
entry:'index.js'
}

这个module.exports对象是webpack的配置,配置有一个属性就是entry,entry属性的值就是一个文件名index.js,也可以加一个路径,只要可以找到文件

2.module.exports={
entry:['index.js','vendor.js']
}

这里entry属性的值就是一个数组,这就是根据一个文件创建多个入口

3.module.exports={
entry:{

  index:'index.js',

  vendor:'vendor.js'

}
}

这里entry属性的值就是一个对象,这个方式相较于前两个的不同是,这里可以知道文件叫什么,可以有一个key,如果想要继续添加一个入口可以继续增加key,扩展性较好

output:输出

打包成文件,对打包文件进行描述

可以是一个或者多个

自定义规则

配合CDN

例如:

1.

module.exports={
entry:'index.js',
output:{
filename:'index.min.js'
}
}

单个输入配单个输出,filename就是输出文件名

2.

module.exports={
entry:{
index:'index.js',
vendor:'vendor.js'
},
output:{
filename:'[name].min.[hash:5].js'
}
}

[name].min.[hash:5].js这就是自定义规则了,name表示entry的name,如果entry的name是index,[name]就是index,[hash:5]是webpack打包过程中的独一无二的标识码

loaders:出来js之外的东西

处理文件

转化为模块:把文件转化为js可以认识模块

例如:

module.exports={
module:{
rules:[
{
test:/\.css$/,
user:'css-loader'
}
]
}
}

可以看到这里有一个对module.exports等于一个对象,然后对module的一个定义,一个rules数组,数组是对不同文件的定义,test:/\.css$/,是对后缀为.css的文件的定义,user是使用css-loader文件

常用loader:

编译相关:babel-loader、ts-loader

样式相关:

style-loader、css-loader、less-loader、postcss-loader

文件相关:

file-loader、url-loader

plugins:其他功能插件

参与打包整个过程

打包优化和压缩

配置编译时的变量

极其灵活

例如

const webpack=require('webpack');

module.exports={
plugins:[
new webpack.optimize.UglifyJsPlugin()
]
}

plugins下的数组是对plugins的使用

常用plugins

优化相关:CommonsChunkPlugin  UglifyjsWebpackPlugin

功能相关:ExtractTextWebpackPlugin  HtmlWebpackPlugin HotModuleReplacementPlugin  CopyWebpackPlugin

Chunk:代码块

bundle:已经被打包过后的

Module:模块

webpack——entry,output,plugins,loader,chunk知识的更多相关文章

  1. Webpack 2 视频教程 014 - 深入理解 Webpack 2 中的 loader

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  2. webpack2的配置属性说明entry,output,state,plugins,node,module,context

    Webpack2配置属性详解 webpack说明 webpack是前端构建的一个核心所在,如果说后端构建就是把高级语言代码编译成机器码,那么前端的构建就是重新组合原有的代码,虽然并不编译成机器码,但实 ...

  3. webpack entry和output配置属性

    1.entry entry的三种配置方式: (1)传递字符串: 单个入口语法:传递一个字符串 entry: './src/js/main.js', (2)传递数组 将创建“多个主入口(multi-ma ...

  4. 玩转webpack之webpack的entry output

    webpack的入口配置项表示要配置的文件就是开发环境或者生产环境 浏览器本身不能认识的一些东西必须经过webpack的编译才能认识,但是要去写的时候我们经常用到预编译什么的比如scss比如jsx甚至 ...

  5. webpack 中,module,chunk 和 bundle 的区别是什么?

    前两天为了优化公司的代码打包项目,恶补了很多 webpack4 的知识.要是放在几年前让我学习 webpack 我肯定是拒绝的,之前看过 webpack 的旧文档,比我们内部项目的文档还要简陋. 但是 ...

  6. webpack学习记录-认识loader(二)

    Loader 就像是一个翻译员,能把源文件经过转化后输出新的结果,并且一个文件还可以链式的经过多个翻译员翻译. loader参考文章:https://webpack.docschina.org/loa ...

  7. webpack动态加载打包chunk命名

    最近,遇到复杂h5页面开发,为了优化H5首屏加载速度,想到使用按需加载的方式,减少首次加载的JavaScript文件体积,于是将处理过程在这里记录一下,涉及到的主要是以下三点: 使用Webpack如何 ...

  8. webpack中output配置项中chunkFilename属性的用法

    chunkFilename和webpack.optimize.CommonsChunkPlugin插件的作用差不多,都是用来将公共模块提取出来,但是用法不一样,这里主要介绍chunkFilename的 ...

  9. 自定义loader基础知识

    参考 :译文 编写一个loader https://webpack.github.io/docs/loaders.html 按照loader的返回值可以分为两种: 最左loader:这种loader会 ...

随机推荐

  1. vue自己写了一个div菜单,点击按钮展开,点击其他地方关闭这个div菜单

    需求是通过点击body页面,在其他地方就关闭这个<div>菜单,给这个div一个id:problemList,但是点击我打开的按钮,不关闭. created () { document.o ...

  2. JQuery课堂学习笔记

    第1课 JQuery技术简介 <%@ page language="java" import="java.util.*" pageEncoding=&qu ...

  3. [luogu2765 网络流24题] 魔术球问题 (dinic最大流)

    传送门 题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之 ...

  4. [Libre 6281] 数列分块入门 5 (分块)

    水一道入门分块qwq 题面:传送门 开方基本暴力.. 如果某一个区间全部都开成1或0就打上标记全部跳过就行了 因为一个数开上个四五六次就是1了所以复杂度能过233~ code: //By Menteu ...

  5. seliux(类似防火墙,限制root用户)

    注:如果在开发是不设置关闭,可能会出现很多不在预期内的效果 路径:/etc/selinux/config *修改(修改时拷贝对照) (拷贝):cp /etc/selinux/config /etc/s ...

  6. Python 斐波那契数列

    Fibonacci Sequence # fibonacci sequence 斐波那契数列 def fibonacci_for(n): # 使用for循环返回n位斐波那契数列列表 li = [] f ...

  7. Python - def 函数

    1.def 函数 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反了软件工程中 DRY原则. Python 提供了 函数功能,可以将我们这部分功 ...

  8. Centos文件查看命令字符

    文件(夹)查看类命令 ls--显示指定目录下内容 说明:ls 显示结果以不同的颜色来区分文件类别.蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件. -a--- ...

  9. php 将多个txt文件合并成

    function test() { $hostdir= iconv("utf-8","gbk","C:\Users\原万里\Desktop\日常笔记& ...

  10. Unity3D:实现人物转向与移动

    在网上有非常多通过射线方式实现的人物行走控制脚本,可是假设仅仅是想通过键盘按键来控制的话.比方进行第三人称视角控制,事实上仅仅须要进行简单的角度变换就可以.思路例如以下: 1.依照顺时针方向设定前.右 ...