详解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 相关文章推荐
菜单效果
Oct 14 Javascript
JavaScript 继承机制的实现(待续)
May 18 Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 Javascript
jQuery取消ajax请求的方法
Jun 09 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
bootstrap警告框使用方法解析
Jan 13 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
微信小程序图片自适应支持多图实例详解
Jun 21 Javascript
javascript中的replace函数(带注释demo)
Jan 07 Javascript
Vue组件的使用及个人理解与介绍
Feb 09 Javascript
js实现移动端图片滑块验证功能
Sep 29 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
一些关于PHP的知识
2006/11/17 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
求职信需要的五点内容
2014/02/01 职场文书
区优秀教师事迹材料
2014/02/10 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
工作态度检讨书范文
2015/05/06 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
2019年教师入党申请书
2019/06/27 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang