angular,require ,oclazyload项目如何加入版本控制

具体github项目地址

一个项目从上线了以后再维护,客户端由于有缓存报错了,这是了尴尬的时刻,因为他们不懂怎么清理缓存,这时候就要进行访问的时候就要进行强制刷新了,

例如引入的css文件为

<link rel="stylesheet" href="style.css">

这样在服务端更新加入代码了,如何使客户端强制刷新

简单粗暴的是直接改css名字,显然这是不科学的,改到自己都词穷。

这时候我们可以用版本就行控制

<link rel="stylesheet" href="style.css?v=1-0-0">

这样可以强制刷新了

注意你的css名字还是叫style.css只是你引入的时候加了?v=1-0-0

当你下次再稍微该这个文件时,你的 可能就是?v=1-0-1

grunt中有加入版本控制的方法,可以进行研究,后续我也会进行学习,到时候把只是分享到这里

言归正传,require.js怎么加入版本号

把reuirejs下面的代码

return config.urlArgs && !/^blob\:/.test(url) ?
                   url + config.urlArgs(moduleName, url) : url;

替换为

if (!config.urlArgs) {
    return url;
}

if (typeof config.urlArgs === ‘string‘) {
    return url + ((url.indexOf(‘?‘) === -1 ? ‘?‘ : ‘&‘) + config.urlArgs);
}

//handle the urlArgs with a function
//give each file it‘s own urlArgs
if (isFunction(config.urlArgs)) {
    var urlArgs;
    try {
        urlArgs = config.urlArgs.call(config, moduleName, url);
    } catch (e) {
        urlArgs = "";
    }

    return url + ((url.indexOf(‘?‘) === -1 ? ‘?‘ : ‘&‘) + urlArgs);
}

https://github.com/xingkongwuyu/zhihu/blob/master/js/lib/require.js  可以参考这个

配置怎么配置呢?这样

<script type="text/javascript" src="require.js" data-main="main"></script>

require.config({
    //你的配置+

    urlArgs:‘v=1-9-2‘
})
时间: 2024-08-03 10:28:41

angular,require ,oclazyload项目如何加入版本控制的相关文章

angular 4 创建项目

首先需要安装 angular cli 全局环境: npm install -g @angular/cli 创建项目 需要先到你需要创建的路径下,运行: ng new my-app 项目创建好后,可以在项目根目录下打开命令行工具,运行npm start,可以启动项目, 你也可以使用 ng server --open 启动项目, 启动项目后,你可以看到 http://localhost:4200/ Url,此时正在编译, 编译好后的样子, 此时打开浏览器就可以访问http://localhost:4

【实例分解一】angular+require+ngroute+bootstrap

之前项目中实现过这样的一套前端框架,但angular版本还是1.0.X的,bootstrap是2.0的.当时项目时间较紧,加上研究不够深入,对angular理解不够透彻,虽然功能实现,但也确实存在一些bug,很多地方可以优化.所以项目准备升级到angular1.3.X.bootstrap3. 下面是调研时做得一个简单的框架demo,angularJS1.3.15,bootstrap3,requireJS2.1.16,ngroute1.3.15.模拟对话框使用了ngDialog,实现了动态temp

Angular教程-02-Angular项目目录及基本文件说明

本教程基于Angular7,更新时间2018-11-05. 1. 项目根目录如下: e2e文件夹:end to end,测试目录,主要用于集成测试. node_modules:项目的模块依赖目录. src:项目的源代码. .editorconfig:编辑器配置文件. .gitignore: git版本控制时忽略的文件(此文件中配置的文件不纳入版本控制). .angular.json:angular配置文件. .package-lock.json:锁定项目依赖模块的版本号. .package.js

@angular/cli 工程 项目 配置

如果你创建工程项目用angular-cli 你的样式文件想使用scss, 并且让ng serve自动编译它们 你可以在创建项目的时候用 ng new sassy-project --style=sass 或者通过ng set defaults.styleExt scss 来修改你现有的项目 然后修改.angular-cli.json的 "styles": [    "styles.css" // "styles.scss" ] 和componen

1 Angular 2 初始化项目配置

AngularJS2是一款JavaScript的开源框架,用于协助单一页面应用程序运行.AngularJS2 是 Angular 1.x 的升级版本,应Web的进化和前端开发的变革还有从Angular 1.x中得到的教训,性能上得到显著的提高,能很好的支持 Web 开发组件.AngularJS2 发布于2016年9月份,它是基于ES6来开发的,用ES2016的超集(TypeScript)编写的,但是Angular 2 也允许开发者用自己喜欢的语言去写代码,如果不喜欢对代码做预编译处理并且想简单构

[Angular + Webpack] ocLazyLoad compoment

$stateProvider .state('landing', { url: '/', views: { '[email protected]': { template: '<olr-landing></olr-landing>' } }, resolve: { loading: ['$q', '$ocLazyLoad', function ($q, $ocLazyLoad) { let deferred = $q.defer(); require.ensure([], func

Angular require(抄别的)

require参数的值可以用下面的前缀进行修饰,这会改变查找控制器时的行为:?如果在当前指令中没有找到所需要的控制器,会将null作为传给link函数的第四个参数.^如果添加了^前缀,指令会在上游的指令链中查找require参数所指定的控制器.?^将前面两个选项的行为组合起来,我们可选择地加载需要的指令并在父指令链中进行查找.没有前缀如果没有前缀,指令将会在自身所提供的控制器中进行查找,如果没有找到任何控制器(或具有指定名字的指令)就抛出一个错误. 在自定义Angular指令时. 举个简单的例子

Angular for MVC—项目搭建(1)

今天准备用angular+mvc创建一个项目,发现上次研究关于angular的东西全忘记了,突然想起上次我事后补了一篇博客的,看了一下也没太回忆起来细节.无奈,重新研究一边,这次是一边实践一边记录的,希望再过段时间我再来看的时候,希望能有帮助.我想记录博客目的也在于此.利于温故.你们要是觉得有用点个赞,没用勿喷,谢谢! 1.创建MVC项目 2.创建angular项目 2.1首先安装angular环境 下载安装node.js和npm,下载地址:https://nodejs.org/en/downl

后期给项目加入Git版本控制

一.为项目加上Git 1.进入对应文件夹 2.git init(初始化一个空的代码仓库) 3.git add .(将当前目录和子目录的文件标记为要添加到代码仓库) 4.git commit -m "添加项目" 二.在Git全局设置配置个人信息 1.添加git的全局配置 git config --global user.name "Stone" 2.查看git的全局配置 git config --global -l