Webpack4 学习笔记六 多页面配置和devtool
webpack 多页配置
webpack可以配置单页应用, 也可以配置多页应用。
区别在于, 单页应用entry入口只有一个, 而多页应用入口有多个
webpack配置:
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')module.exports = {mode: "development",entry: {home: './src/home.index',about: './src/about.js'},output: {// 多个入口的文件不能打包的一个文件中, 应该用name区别。这样就会输出 home.js和about.jsfilename: '[name].js',path: path.resolve(__dirname, 'dist')},plugins: [new HtmlWebpackPlugin({title: 'page home',template: './index.html', // 模版文件filename: 'index.html',chunks: ['home']}),new HtmlWebpackPlugin({title: 'page about',template: './index.html', // 模版文件filename: 'index.html',chunks: ['about']})]
}
以上代码, HtmlWebpackPlugin 实例话了两次, 每次都会生成一个html,所谓的多页。并且选项中的, chunks的设置主要让每个index.html分别引用它自己的js文件。
webpack devtool
此选项控制是否生成,以及如何生成 source map。
source-map
源码映射, 会单独生成一个sourcemap文件, 出错了,会标识当前报错的列和行, 大而全,并且是相互独立的。
source-map 是所有选项中最慢和最高质量的选择,但这对于生产建设来说是很好的
eval-source-map
不会产生单独的文件, 但是可以显示列和行。和source-map的主要区别是不会产生文件
cheap-module-source-map
简化后的 source-map, 不会产生列, 但是是一个单独的map文件,产生后你可以保留起来,用于调试
cheap-module-eval-source-map
不会生成map文件,不会显示列,可以定位到错误的行
webpack配置
module.exports = {devtool: "source-map"
}
总结:
开发环境推荐使用:
eval :每个模块使用eval()和//@ sourceURL执行。这是非常快。主要缺点是,它没有正确显示行号,因为它被映射到转换代码而不是原始代码(没有来自加载器的源映射)。
eval-source-map:每个模块使用eval()执行,而SourceMap作为DataUrl添加到eval()中。最初它是缓慢的,但是它提供快速的重建速度和产生真实的文件。行号被正确映射,因为它被映射到原始代码。它产生了最优质的开发资源。
cheap-eval-source-map:与eval-source-map类似,每个模块都使用eval()执行。它没有列映射,它只映射行号。它忽略了来自加载器的源代码,并且只显示与eval devtool相似的经过转换的代码。
cheap-module-eval-source-map:类似于cheap-eval-source-map,在本例中,来自加载器的源映射被处理以获得更好的结果。然而,加载器源映射被简化为每一行的单个映射。
生产环境推荐使用
(none) :(省略devtool选项)-不触发SourceMap。这是一个很好的选择。
source-map:一个完整的SourceMap是作为一个单独的文件。它为bundle 添加了引用注释,因此开发工具知道在哪里找到它。
hidden-source-map:与source-map相同,但不向bundle 添加引用注释。如果您只希望SourceMaps从错误报告中映射错误堆栈跟踪,但不想为浏览器开发工具暴露您的SourceMap,可以使用此选项。
参考文章: webpack之devtool
笔记地址
转载于:https://www.cnblogs.com/qiqingfu/p/10301507.html
Webpack4 学习笔记六 多页面配置和devtool相关推荐
- Webpack4 学习笔记 - 01:webpack的安装和简单配置
安装 webpack 新建一个Demo文件夹,执行初始化: npm init 在Demo文件夹里安装 webpack 和 webpack-cli : npm install webpack webpa ...
- Apache Nutch 1.3 学习笔记十一(页面评分机制 LinkRank 介绍)
下面是Google翻译的http://wiki.apache.org/nutch/NewScoring内容,是关于Nutch 新的链接分数算法的说明,有点类似于Google的PageRank,这里有其 ...
- Apache Nutch 1.3 学习笔记十一(页面评分机制 OPIC)
1. Nutch 1.3 的页面评分机制 Nutch1.3目前默认还是使用OPIC作为其网页分数算法,但其之后,已经引入了PageRank-like算法,以弥补OPIC算法的不足,目前OPIC算法还是 ...
- JS学习笔记六:js中的DOM操作
1. JS学习笔记六:js中的DOM操作 文章目录 1. JS学习笔记六:js中的DOM操作 1.1. 获取Dom节点 1.2. 元素属性的操作方式 1.3. DOM节点的创建.插入和删除 1.4. ...
- golang学习笔记8 beego参数配置 打包linux命令
golang学习笔记8 beego参数配置 打包linux命令 参数配置 - beego: 简约 & 强大并存的 Go 应用框架 https://beego.me/docs/mvc/contr ...
- 【K210】K210学习笔记六——MaixHub在线模型训练识别数字
[K210]K210学习笔记六--MaixHub在线模型训练识别数字 前言 K210准备工作 数据的获取 MaixHub如何在线训练模型 训练模型在K210上的测试 小结 前言 本人大四学生,电赛生涯 ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- Ethernet/IP 学习笔记六
Ethernet/IP 学习笔记六 EtherNet/IP defines two primary types of communications: explicit and implicit (Ta ...
- 吴恩达《机器学习》学习笔记六——过拟合与正则化
吴恩达<机器学习>学习笔记六--过拟合与正则化 一. 过拟合问题 1.线性回归过拟合问题 2.逻辑回归过拟合问题 3.过拟合的解决 二. 正则化后的代价函数 1.正则化思想 2.实际使用的 ...
最新文章
- YOLO-6D论文的一些相关知识
- python支持list类型吗_Python-不支持的操作数类型为%:“list”和“int”
- file_get_content和curl的性能比较
- c语言程序设计编程解读,【答题】C语言程序设计问题与解释实验
- 计算机考研专业基础知识视频教程链接
- OPPO关联公司被授权“脑电波采集方法”相关专利
- 三星s3android wear,三星galaxy wearable下载
- linux服务器centos空间满的检查及解决方法
- Memcached: 目录
- matlab仿真卫星导航接收机信号干扰,卫星导航软件接收机多采样率信号处理技术...
- 对称 symmetric
- DRF的@action装饰器
- web服务-Axis2的安装
- Java—集合框架图
- mysql可视化界面创建表_mysql安装及可视化界面
- 自动驾驶对公路基础设施有何深刻影响?(上)| 自动驾驶系列
- 一文详述 Python 中的 property 语法
- Representation Learning with Contrastive Predictive Coding
- 硬件知识——主板结构
- uni-app h5 使用微信JSSDK的方式
热门文章
- C++算法学习(力扣:201. 数字范围按位与)
- Matlab实现Faster-RCNN目标检测
- 机器学习 - [源码实现决策树小专题]决策树学习中如何进行分类预测
- struts国际化java_Struts2 的国际化实现方式示例
- Anaconda不同平台的安装方式
- 无监督学习︱GAN 在 NLP 中遇到瓶颈+稀疏编码自学习+对偶学习
- CyclicBarrier多线程
- bzoj 3527 [Zjoi2014]力——FFT
- mac环境下安装mysql
- Windows live Writer的安装配置