你的位置:首页 > 软件开发 > ASP.net > 使用gulp解决RequireJS项目前端缓存问题(二)

使用gulp解决RequireJS项目前端缓存问题(二)

发布时间:2016-10-13 19:00:03
1、前言这一节,我们主要解决在上一节《使用gulp解决RequireJSs项目前端缓存问题(一)》末尾提到的几个问题:对通过require-config.js引入的js文件修改后,没有更新到每次gulp运行完后都会生成新的文件,开发环境是做了清除dist目录处理,但对于一般公司服 ...

1、前言

这一节,我们主要解决在上一节《使用gulp解决RequireJSs项目前端缓存问题(一)》末尾提到的几个问题:

    1. 对通过require-config.js引入的js文件修改后,没有更新到
    2. 每次gulp运行完后都会生成新的文件,开发环境是做了清除dist目录处理,但对于一般公司服务器而言,发布到生产环境上,不可能每次发布都对dist做清空处理,文件只会越积越多

先睹为快,猛戳链接下载Demo :http://pan.baidu.com/s/1skDm2Up

 

2、修改require.js

按第一节中替换文件名的做法,要想在require-config.js中也能顺利替换的话,应该在requireJs参数path对应的路径文件加上后缀,如下图:

使用gulp解决RequireJS项目前端缓存问题(二)

 

2.1、把项目根目录切换到src

运行html/index.html(注意为了调试方便,此时我们用的js是非压缩版的require),这时控制台报错:

使用gulp解决RequireJS项目前端缓存问题(二)

 

RequireJS已经默认跟每个模块自动加上了后缀,查看官方说明,你会发现这句话:“RequireJS默认假定所有的依赖资源都是js脚本,因此无需在module ID上再加".js"后缀,RequireJS在进行module ID到path的解析时会自动补上后缀”。

咋办啊,我们必须迈过这个坎啊,莫怕,follow me,在错误的地方断点调试:

使用gulp解决RequireJS项目前端缓存问题(二)

 

 你会看到node.src的值就是RequireJS动态插入的值,先按下图红色框部分插入代码:

var srcArr = node.src.split('.js');if(!!srcArr[1]){  node.src='/images/loading.gif' data-original=srcArr[0]+'.js'+srcArr[1]}else{  node.src='/images/loading.gif' data-original=srcArr[0]+'.js'}

原标题:使用gulp解决RequireJS项目前端缓存问题(二)

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。