详解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 相关文章推荐
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
Tips 带三角可关闭的文字提示
Oct 06 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
angularjs实现与服务器交互分享
Jun 24 Javascript
纯js实现无限空间大小的本地存储
Jun 18 Javascript
Webpack 实现 Node.js 代码热替换
Oct 22 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
jqGrid用法汇总(全经典)
Jun 28 Javascript
AngularJS基础 ng-init 指令简单示例
Aug 02 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
Nov 12 Javascript
原生js实现html手机端城市列表索引选择城市
Jun 24 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文件缓存类实现代码
2015/10/26 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
简单的JS多重继承示例
2008/03/13 Javascript
js中的this关键字详解
2013/09/25 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
jquery插件NProgress.js制作网页加载进度条
2015/06/05 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
2016/03/25 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
Python使用struct处理二进制的实例详解
2017/09/11 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
2019/05/18 Python
Python实现FM算法解析
2019/06/18 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
巴西宠物商店:Cobasi
2019/04/19 全球购物
澳大利亚Mocha官方网站:包、钱包、珠宝和配饰
2019/07/18 全球购物
座谈会主持词
2014/03/20 职场文书
销售辞职信范文
2015/03/02 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
复兴之路观后感
2015/06/02 职场文书
七一慰问简报
2015/07/20 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
十大最强妖精系宝可梦,哲尔尼亚斯实力最强,第五被称为大力士
2022/03/18 日漫