1. manifest

manifest存储了webpack的chunk相关的信息。具体为一个对象,或者包含runtime的一段代码。其中包含着一个chunkId,已经对应chunkId的相关信息,例如异步模块的

文件名和路径

2. HashedModuleIdsPlugin

将打包出来的moduleId从自增的数字换成相对的文件路径的hash值,使得moduleId在文件位置和内容不变的情况下,不会发生变化。

3. webpack4 CacheGroup可参考的配置

// 打包node_modules,排除lodash
venders: {
test: /node_modules\/(?!(lodash)\/)/,
name: 'vendors-common',
chunks: 'all'
},
// 只打包lodash,并命名为 vender-lodash
lodash: {
test: /node_modules\/lodash\//,
name: 'vender-lodash'
},
//将多个异步加载的模块共用的部分打进utils中, reuseExistingChunk 是重用已经存在的chunk
//防止多个模块中出现重复的chunk
default: {
minSize: 0,
minChunks: 2,
reuseExistingChunk: true,
name: 'utils'
}
// 只打包异步模块中的chunk
'async-vendors': {
test: /[\\/]node_modules[\\/]/,
minChunks: 2,
chunks: 'async',
name: 'async-vendors'
}
// 这里定义的是在分离前被引用过两次的文件,将其一同打包到common.js中,最小为30K
common: {
name: "common",
minChunks: 2,
minSize: 30000
}

4. webpack-dev-sever可参考的配置

// 开发环境设置本地服务器,实现热更新
devServer: {
contentBase: path.resolve(__dirname, 'static'),
// 提供给外部访问
host: '0.0.0.0',
port: 8388,
// 允许开发服务器访问本地服务器的包JSON文件,防止跨域
headers: {
'Access-Control-Allow-Origin': '*'
},
// 设置热替换
hot: true,
// 设置页面引入
inline: true
},
// 文件输出配置
output: {
// 设置路径,防止访问本地服务器相关资源时,被开发服务器认为是相对其的路径
publicPath: 'http://localhost:8188/dist/js/',
},
// 插件配置
plugins: [
// 热更新替换
new webpack.HotModuleReplacementPlugin()
]

webpack散记的更多相关文章

  1. webpack散记---代码分割 和 懒加载

    webpack methods ES 2015 Loader spec (1)webpack methods方法 require.ensure //可以动态加载依赖 []:dependencies / ...

  2. webpack散记---提取公共代码

    (1)作用: 减少代码冗余 提高加载速度 (2)来源 commonsChunkPlugin webpack.optimize.CommonsChunkPlugin (3)配置 { plugins:[ ...

  3. webpack散记--Typescript

    Typescript 1.js的超集 官网:typescriptlang.org/tslang.cn 来自:微软 安装:官方的  npm i typescript ts-loader --save-d ...

  4. webpack知识点散记

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

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. webpack之傻瓜式教程

    接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...

  7. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  8. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  9. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

随机推荐

  1. 使用git bash编译安装sysbench时遇到的坑

      Preface       When I was compiling the sysbench just now,I encountered some failures in the preced ...

  2. Linux命令应用大词典-第14章 显示登录用户

    14.1 w:详细查询已登录当前计算机的用户 14.2 who:显示已登录当前计算机用户的简单信息 14.3 whoami:显示与当前的有效ID相关联的用户名 14.4 logname:显示当前用户的 ...

  3. [CodeForce455A]Boredom

    题面描述 Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long ...

  4. django 增删改查操作 数据库Mysql

    下面介绍一下django增删改查操作: 1.view.py # -*- coding: utf-8 -*-from __future__ import unicode_literalsfrom dja ...

  5. 基础的表ADT -数据结构(C语言实现)

    读数据结构与算法分析 表的概述 形如A1,A2,A3... 操作合集 PrintList MakeEmpty Find Insert Delete 表的简单数组实现 分析: PrintList和Fin ...

  6. DeepLearning Intro - sigmoid and shallow NN

    This is a series of Machine Learning summary note. I will combine the deep learning book with the de ...

  7. Linux内核设计笔记7——中断

    中断与中断处理 何为中断? 一种由设备发向处理器的电信号 中断不与处理器时钟同步,随时可以发生,内核随时可能因为中断到来而被打断. 每一个中断都有唯一一个数字标志,称之为中断线(IRQ) 异常是由软件 ...

  8. 一:yarn 介绍

        yarn的了出现主要是为了拆分jobtracker的两个核心功能:资源管理和任务监控,分别对应resouceManager(RM)和applicationManager(AM).yarn中的任 ...

  9. popen()与system()

    一.popen() 用途:执行shell命令(并读取其输出或向其发送一些输入) 特点:通过管道来与shell命令进行通信 二.system()

  10. allocator类

    一.动态数组 [new的局限性] new将内存分配和对象构造组合在一起,同样delete将对象析构和内存释放组合在一起 我们分配单个对象时,通常希望将内存分配和对象初始化组合在一起(我们知道对象应有什 ...