入口(Entry)

入口定义了我们的应用代码开始执行的那个文件,webpack从这个文件开始打包。你能定义一个入口点(常见于单页应用 - Single-Page Application), 或者多个入口点(常见于多页应用 - Multiple-Page Application)。

定义一个入口点就生成一个chunk。如果你只是用字符串的方式定义了一个入口点,其就被命名为main。如果你用对象的方式定义多个入口点,其就被命名为入口对象中的键值。下面两个例子是等价的:

entry: './src/index.js'
entry: {
main: './src/index.js'
}

输出(Output)

输出对象配置webpack如何输出我们的打包(bundles)和资源(assets),以及将它们放到哪里。因为可能多于一个入口点,而只(能)指定一个输出配置。事实上我们就用chunks来给其一一命名。你能给打包输出的文件定义一个确定的名字,但既然我们想要分割我们的代码,就不能这么干。你得使用[name]来创建输出文件名的模板:

output: {
filename: '[name].[chunkhash].bundle.js',
path: path.resolve(__dirname, 'dist')
}

这里要注意的重要事情是 [chunkhash]: 它基于你文件的内容给每个chunk生成了一个特有的hash。它只有在你的文件内容本身变化的时候才变化。事实上,(如果内容没有变化)浏览器会缓存它。如果文件名改变了(译注:这里是指hash变化了,而hash是文件名的一部分,即意味着文件的内容变化了),浏览器就知道要重新下载了。chunkhash看起来长得就象这样子: 0c553ebfd158e16da428

如此这般,我们的main chunk就会被打包成名为 main.[chunkhash].bundle.js的文件。

webpack 的 入口(Entry)、输出(Output)的更多相关文章

  1. webpack的配置文件entry与output

    在webpack.config.js中entry是唯一入口文件 entry也可以是一个数组 如果是一个数组,会将数组里面的文件一起打包到bundle.js entry也可以是一个对象. 如果outpu ...

  2. webpack entry和output配置属性

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

  3. webpack中Entry与Output的基础配置

    entry顾名思义,就是打包的入口文件 module.exports = { // 这个文件要做打包,从哪一个文件开始打包 entry: './src/index.js', // 打包文件要放到哪里去 ...

  4. webpack学习(五)entry和output的基础配置

    1:entry和output就是打包的入口和出口的两个对象.但是如果入口文件就一个的话(应该说只希望打包出一个脚本文件), entry直接跟一个字符串(入口文件路径)就可以了.如:entry : &q ...

  5. Webpack探索【4】--- entry和output详解

    本文主要讲entry和output相关内容.

  6. webpack笔记三 管理输出

    webpack笔记三 管理输出 增加src/print.js: export default function printMe() { console.log('I get called from p ...

  7. Webpack实战(三):作为前端你不得不懂的Webpack资源入口和出口的配置

    关于Webpack前两篇跟大家分享的主要是Webpack的一些基本的配置,今天开始我们详细了解一下有关Webpack的各种配置,今天主要跟大家分享的是Webpack的资源入口和资源出口的配置. 如果想 ...

  8. webpack学习_管理输出(管理资源插件)

    管理输出步骤 Step1:在src新建文件print.js添加逻辑 Step2:在src/index.js import 引用新添加的逻辑 Step3:更新dist/index.html文件,修改引入 ...

  9. webpack笔记二——entry

    entry是输入目录文件,有三种形式 1.对象键值对形式 entry: { main: './src/script/main.js', b: './src/script/b.js' }, 注意的是输出 ...

  10. 深入比特币原理(三)——交易的输入(input)与输出(output)

    本节内容非常重要,如果你不能很好的掌握本节内容,你无法真正理解比特币的运行原理,请务必要学习清楚. 比特币的交易模型为UTXO(unspend transaction output),即只记录未花费的 ...

随机推荐

  1. PC或者手机上实现相机拉近和旋转

    using System.Collections;using System.Collections.Generic;using UnityEngine;using System; //[Seriali ...

  2. shiro学习笔记(四) ini配置以及加解密

    INI配置 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全且真个应用只需要一个即可,因此Sh ...

  3. js基础 三种弹出框 数据类型

    总结:js三个组成部分ES:语法DOM:对象模型 => 通过js代码与页面文档(出现在body中的所有可视化标签)进行交互BOM:对象模型 => 通过js代码与浏览器自带功能进行交互 引入 ...

  4. web.config 冲突的解决办法 (主目录子目录分别帮定域名导至出现错误)

    IIS上在主站点下搭建虚拟目录后,子站点中的<system.web>节点与主站点的<system.web>冲突解决方法: 在主站点的<system.web>上一级添 ...

  5. 若sql语句中order by指定了多个字段,怎么排序?

    举个例子吧: order by id desc,time desc 先是按 id 降序排列 (优先)如果 id 字段 有些是一样的话 再按time 降序排列 (前提是满足id降序排列)

  6. python day11 ——1. 函数名的使⽤ 2. 闭包 3. 迭代器

    ⼀. 函数名的运⽤. 1.函数名的内存地址 def func():    print("呵呵") print(func) 结果: <function func at 0x11 ...

  7. RIP路由协议(一)

    实验要求:使用RIPv2配置路由器,使路由器能接收到所有的路由条目 拓扑如下: 配置如下: R1enable 进入特权模式configure terminal 进入全局模式interface s0/0 ...

  8. JAVA中日期和时间的格式化选项

    一.使用printf方法 import java.util.Date; import java.util.Scanner; public class Test { public static void ...

  9. file类和io流

    一.file类 file类是一个可以用其对象表示目录或文件的一个Java.io包中的类 import java.io.File; import java.io.IOException; public ...

  10. mysql 数据查询全讲

    数据查询 涉及到DQL(Data Query Language)是sql语句的一类 本文全面介绍了mysql下 select 语句的各种查询方式:普通查询,模糊查询,查询排序,分页查询,聚合函数查询  ...