详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计


Posted in Javascript onAugust 31, 2018

执行 npm run build 之后的 dist 目录的静态资源的文件名多会追加上 hash 值,比如: page1.f151b4d3.js

那如果不要 hash 呢,你只需要配置 vue.config.js 文件中的 filenameHashing

官方文档也提到了因为 html 也是我们通过插件生成的,静态资源直接就 inject 进去的,所以,当 html 不是自动生成或者其他情况时候,就不能加 hash 了,可以配置 false。

filenameHashing: false

我们看看源码实现:

首先它是 vue.config.js 的一个配置,在文件 cli-service/lib/options.js 中:

默认值是 true

filenameHashing: true

先看 css 部分,在文件 cli-service/lib/config/css.js 中:

const filename = getAssetPath(
   options,
   `css/[name]${options.filenameHashing ? '.[contenthash:8]' : ''}.css`
  )

再看 js 部分,在文件 cli-service/lib/config/prod.js

const filename = getAssetPath(
    options,
    `js/[name]${isLegacyBundle ? `-legacy` : ``}${options.filenameHashing ? '.[contenthash:8]' : ''}.js`
   )

他们多依赖函数 getAssetPath,在文件 util/getAssetPath.js 中定义了

const path = require('path')

module.exports = function getAssetPath (options, filePath, placeAtRootIfRelative) {
 return options.assetsDir
  ? path.posix.join(options.assetsDir, filePath)
  : filePath
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
url 编码 js url传参中文乱码解决方案
Apr 11 Javascript
javascript每日必学之基础入门
Feb 16 Javascript
EasyUI折叠表格层次显示detailview详解及实例
Dec 28 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
关于Promise 异步编程的实例讲解
Sep 01 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
Sep 18 Javascript
浅析node.js的模块加载机制
May 25 Javascript
详解微信小程序调起键盘性能优化
Jul 24 Javascript
使用webpack搭建vue项目及注意事项
Jun 10 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 #Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
Aug 31 #Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 #Javascript
javascript闭包的使用之按钮切换功能
Aug 30 #Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 #Javascript
基于Angularjs-router动态改变Title值的问题
Aug 30 #Javascript
从vue源码解析Vue.set()和this.$set()
Aug 30 #Javascript
You might like
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python正则实现计算器功能
2017/12/14 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
python hash每次调用结果不同的原因
2019/11/21 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
测试时代收集的软件测试面试题
2013/09/25 面试题
小饰品店的创业计划书范文
2013/12/28 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
父母寄语大全
2014/04/12 职场文书
施工单位安全责任书
2014/07/24 职场文书
收入证明范本
2015/06/12 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
pytorch MSELoss计算平均的实现方法
2021/05/12 Python
Python关于OS文件目录处理的实例分享
2021/05/23 Python
Java 在生活中的 10 大应用
2021/11/02 Java/Android
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python
Python实现仓库管理系统
2022/05/30 Python