https://www.npmjs.org/package/rjs-optimhttps://www.npmjs.org/package/grunt-requirejs-md5指定js版本号 但不是MD5 没有检测文件是否更新机制https://www.npmjs.org/package/grunt-static-versioning-requirejs…
前端自动化打包发布已是一种常态,尤其在移动端,测试过程中静态资源的缓存是件很头疼的事情,有时候明明处理的bug测试还是存在,其实就是缓存惹的祸,手机不比pc浏览器,清理缓存还是有点麻烦的.所以自动化实现静态资源的版本更新才是正道. 实际开发过程中,我们常用到的功能包括: 1.目标路径的清除: 2.静态资源复制到目标路径: 3.css文件的合并与压缩: 4.js文件的合并与压缩: 5.根据文件的变化添加版本号: 第1.2.3.4几个功能倒是很好解决,今天主要说说gulp实现静态资源自动添加版本号:…
由于项目用到requireJs,并且通过gulp来对项目进行统一的管理,为了防止浏览器对文件进行缓存,所以通过gulp为项目中的文件添加版本号. 1.分别安装gulp-rev.gulp-rev-collerctor npm install --save-dev gulp-rev npm install --save-dev gulp-rev-collector 打包后的效果 "/css/style.css" => "/dist/css/style-1d87bebe.cs…
之前,我介绍了学习安装并配置前端自动化工具Gulp,觉得gulp确实比grunt的配置简单很多,于是我决定再深入学习一下gulp,就去网上查了资料,发现gulp还可以自动添加版本号,这个功能就为我平时在更新css或js时老是在客户端存在缓存导致更新后的效果无法实时展现的苦恼.所以就赶紧去试了一下,果真可以,很高兴啊,真是为项目开发,为效果的快速展现提供了很多的便利. 实现原理: 1.修改js和css文件: 2.通过对js,css文件内容进行hash运算,生成一个文件的唯一hash字符串(如果文件…
公司项目每次发布后,偶尔会有缓存问题,然后看了下gulp,发现gulp还能给js,css自动化添加版本号,可解决缓存的问题,所以自动化实现静态资源的版本更新才是正道.通过网上的资料试过了两种办法: 1.生成一个新的dist目录,里面包含了要发布的html,js,css等文件 . 2.在原来的HTML文件上进行js ,css版本的替换,不需要生成新的目录文件. 通过两种方法的实践过程对比,决定使用第二种办法,所以这里介绍一下第二种方式的实现过程: 一. 1. 修改js和css文件 2. 通过对js…
如果不是遇到,真的不会想到,代码世界的问题真是千奇百怪,这次遇到的是 dotnet pack 打包文件版本号引起的问题. 之前进行 nuget 打包都是在 Visual Studio build 时进行,版本号时通过 .csproj 中的 VersionPrefix 指定,没遇到问题. 最近,改为通过 shell 脚本在 linux 上打包,开始的 shell 脚本是怎么写的: dotnet pack -c Release /p:version=$(git tag --sort=committe…
Gulp 基于 Node.js 的前端构建工具,可以实现前端代码的编译(sass.less).压缩合并(JS.CSS).测试:图片的压缩:已经添加 JS 和 CSS 版本号,防止浏览器缓存. 1. 安装 全局安装 $ npm install gulp -g 进入项目跟目录,初始化 npm init , 然后安装: $ npm install gulp 安装插件 sass的编译(gulp-ruby-sass) 自动添加css前缀(gulp-autoprefixer) 压缩css(gulp-clea…
本文转载自: gulp自动添加版本号…
由于js和css的缓存问题,所以,希望在html上给js和css添加上版本号. 常见的用法是使用gulp-rev和gulp-rev-collector进行操作.使用这两个插件,得到的效果如下图所示: 但是,我们希望的格式是这种: 有大神给出了解决办法,参见如下链接: Gulp自动添加版本号 此篇文章中的修改行数,会随着插件的更新而发生变化,大家可以搜索一下,基本上就是了. 可是随后又出现一个问题,如果重复执行添加版本号的操作,版本号会重复追加到链接后面: <link rel="styles…
背景 在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css.js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量. 问题 现在问题来了,.htaccess设置的css.js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css.js,在这些css.js缓存未过期之前,浏览器只会…
web应用必然要面对缓存问题,无论前台后台都会涉足缓存.特别是对于前端而言,缓存利用的是否得当直接关系到应用的性能. 通常情况下,我们会倾向于使用缓存,因为缓存一方面可以减少网络开销,一方面可以减轻服务器的压力. 但是有些时候缓存也会带来一些比较诡异的问题,呵呵.关于缓存的文章应该不在少数,不再讨论,本文的重点在于为js和css文件自动添加版本号. 这样做的原因是:首先对于js和css类型的静态文件设置了缓存机制,当文件被更新时,需要强迫浏览器下载修改后的新文件,也就是要更新缓存,而通过为js和…
原文:Inno Setup打包添加和去除管理员权限 添加管理员权限 1.在[Setup]节点添加 PrivilegesRequired=admin 2.进入安装目录,找到文件SetupLdr.e32,这是一个二进制配置文件,需要用到ResHacker.exe这个工具修改  找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,…
传统的给文件链接添加版本号的方法是使用gulp-rev,这里提出的解决方案是使用python来替代gulp-rev. import os import re import uuid import sys def file_extension(path): return os.path.splitext(path)[1] basePath = sys.argv[1] if len(sys.argv)==1: sys.exit() html_list = [] def find_html(path)…
利用Nuget打包添加tools下intsall.ps1[powershell脚本]修改.csproj文件, 以设置1.项目-生成->输出->选择[XML文件文件] 2.项目->调试->启用调试器:取消[启用Visual Studio承载进程] install.ps1脚本如下: param($installPath, $toolsPath, $package, $project) # save project first $project.Save() $xml = [xml](G…
写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件,为了避免由于浏览器缓存的原因无法加载新的 css 或 js ,一般的做法是在资源文件的后面加上一个版本号来解决,这样浏览器就会去服务器下载新的资源文件. 如果某个 css 文件被多个页面引用,那么我们就需要去每个页面一个一个的去修改,这样做的方式属于重复性的动作,而且有的时候还会漏掉需要修改的页面,所以我们就需要一个自动管理资源文件版本号的功能 先看效果 如何实现 通过扩展HemHelper 类,添加 为 js 和 css 文…
方式一: 思路 string version = ViewBag.Version; @Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}?nocache=" + version + "\"></script>", "~/Scripts/ControlJS/PuzzleFee/PuzzleFee.js") 方…
在使用Microsoft Visual Studio开发工具等编写的exe或者dll等可执行文件时,我们往往需要对这些可执行文件添加版本号,公司,版权等信息. 1. 在我们需要添加各种信息的项目工程中依次点击"项目-添加新项-资源文件 2. 在该文件夹上,右键"添加资源"-选择“version”点击新建即可弹出文件描述,文件版本号等信息的编辑面板.   3. 按照自己需求填写之后,重新编译就可以了  …
1.将官方的库clone下来 http://github.com/xxx.xxx.git 2.修改要修改的地方 3.git add src 4.commit -m 'xxx'   5.git push 6.添加版本号,git tag -a 1.0.1 -m "1.0.1" 7.git clone http://github.com/xxx.xxx.git 8.git push origin v1.0.1…
问题: 当我们修改js和css文件时往往需要清除浏览器的缓存,否则有些效果就看不到更新过后的. 通过对js,css文件内容进行hash运算,生成一个文件的唯一hash字符串(如果文件修改则hash号会发生变化) 替换html中的js,css文件名,生成一个带版本号的文件名,这样加版本号的静态文件就不会存在缓存的问题了. 解决: 我的当前版本 "gulp-rev": "7.1.2", "gulp-rev-collector": "1.2.…
在 vue.config.js 的文件中加入下面这段话 // vue.config.jsconst Timestamp = new Date().getTime();module.exports = { configureWebpack: { // webpack 配置 output: { // 输出重构 打包编译后的 文件名称 [模块名称.版本号.时间戳] filename: `[name].${process.env.VUE_APP_Version}.${Timestamp}.js`, ch…
/**功能:创建动态标签加载css ,js文件,重点是js文件,利用onloading加递归实现动态标签的同步加载用法:在html文件body底部script内部声明并调用下列函数,obj中写要加载的文件信息注意,由于css是后来加载的,所以页面会存在无样式的页面骨架闪烁问题,可以在头部head标签里加个body{opacity:0},在css文件中再改为body{opacity:1} */ function noAsyncScriptTag() { var obj = { pubPath: "…
最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog.csdn.net/kenkao/article/details/24290063 http://blog.csdn.net/janeky/article/details/17652021 http://blog.csdn.net/janeky/article/details/17666409 ht…
小小抱怨下:也许是MFC现在用的人少的缘故.在国内和国外都基本上找不到什么全的资料.特别是ocx打包成Cab时的安装文件inf的编写方面,国内基本上是copy,抄的还一知半解.查找个资源真心的累啊.现在将编写步骤和遇到的问题以及问题的解决办法记录下来.有的资源是参考了别人的博文,有引用的地方将附上连接,再次感谢这些博主,如有侵权,请联系本人,立即删除. 一.MFC Activex 项目的构建 此处使用的是:vs2015,操作按照图片顺序,没有特别注意的地方不做文字注释了.(不详细的地方可以参考:…
为了应对日益复杂,大规模的JavaScript开发.我们化整为零,化繁为简.将复杂的逻辑划分一个个小单元,各个击破.这时一个项目可能会有几十个甚至上百个JS文件,每个文件为一个模块单元.如果上线时都是这些小文件,那将对性能造成一定影响. RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩.r.js非常强大,不但可以压缩js,css,甚至可以对整个项目进行打包. r.js的压缩工具使用UglifyJS或Closure Compiler.默认使用UglifyJS(jQuery也是使…
入门资料参考: How accurate is Android GPS? Part 1: Understanding Location Data How accurate is Android GPS? Part 2 – Consuming real-time locations Google Developer docs – Location Strategies Android blog – Deep dive into location GPS Testing Tool (open sou…
APP要打包给远程的朋友或客户测试,但又不是企业账号的情况下,我们只能根据手机的udid进行描述证书的配置,再打包分发给提供了udid的手机进行安装 一.如何得到udid? 手机连接到mac电脑,打开iTunes, 如图,选择UDID,右键复制就ok.然后在Apple开发者官网的个人中心添加上这个设备.留着给下一步创建证书时用. 二.如何生成描述证书? 打开Apple的开发者网站,登录个人账号,进入“Provisioning Profiles”,选择 Distribution ,然后添加新的描述…
近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处. 开发工具: eclipse,spring版本:5.0.1.RELEASE   功能用途:为静态资源文件计算版本号,可以避免客户端缓存了静态资源后,无法及时刷新服务器上最新版本文件的问题   实现主要步骤说明: 1.web.xml 配置springmvc的DispatcherServlet,拦截所…
1. Jenkins本地执行测试 or 服务器端执行测试 测试代码计划通过jenkins执行时,通过网上查询各种教程,大多数为本地执行测试,由此可见,本地执行是大多数人的选择. 经过探讨,最终决定采用服务端执行测试.自动化测试代码上传到测试服务器,通过jenkins部署并执行,可减少本地资源占用. 2. 服务器端执行测试,需要的browser & webDriver 鉴于公司测试服务器为无界面的Linux系统,浏览器采用无界面的chrome.即,在服务器安装Headless Chrome. we…
写在前面 在app中嵌入h5应用,最头疼的就是缓存的问题,比如你修改了一个样式,或者在js中添加了一个方法,发布之后,并没有更新,加载的仍是缓存里面的内容.这个时候就需要清理缓存才能解决.但又不想让webview每次都清理缓存,每次都去加载最新的,显然会影响性能. 解决办法 解决缓存的方式之一就是在url后面添加一个随机数可以实现,但我们并不希望每次都是新请求,所以这个时候,我们可以在js或者css的后面添加一个版本号,第一次请求仍是新的请求,之后会将静态文件进行缓存.一是解决了修改后,无法立即…
xcode6如何打包 首先clean然后点击归档 点击打包之后保存 点选第一个以后检查相关证书签名 那么我们开发完以后,在上线前如何给别人测试 有2种方法 1.使用299美金的企业开发者账号搭建企业部署程序给别人,用户访问网页进行安装,那么这样有一个问题,就是我们的界面需要自己设计,并且需要服务器配合,同时不能进行大规模的上线前测试,但是交付用户使用还是可以的,这里我们不是主要说这个 备注:韩志宇提出在原来企业分发的时候图片可以url指向不正确 .现在不行了.如果icon图标只想不正确.就没法下…