开发者社区> 问答> 正文

使用require.js加载我自己写的js文件,当我修改了js后,怎么强制让浏览器更新 ?

比如使用同步加载时可以在js后面加上?,比如

<script type="text/javascript" src="../../resources/js/libs/iscroll-probe.js?v=1.2">
但使用require.js后,所有js都是通过main.js配置的:
如下:
 require.config({
     shim: {
            'backbone': { deps: ['underscore', 'jquery'], exports: 'Backbone' },
            'lazyload': { deps: ['jquery'], exports: 'lazyload' }
        },
        paths: {
            'underscore': ['libs/underscore-min' ],
            'backbone': ['libs/backbone-min' ],
            'lazyload':['libs/jquery.lazyload.min'],
            'jquery': [ 'libs/jquery.min' ],
            'bootstrap': [  'libs/bootstrap.min' ],
            'v': 'viewsv0.0.2',
            'm': 'modelsv0.0.2'
            //'login': "http://localhost:8080/WebSample/",//tk.siteProperties.contextPath + '/login'
            //'login': ['login']
        },
        waitSeconds: 30     
});

require(['app', 'router'], function (app, Router) {
    $(document).ready(function ($) {
        console.time('TIME: application init');
        app.router = Router;
        app.router.start();
    });


});

那么问题是,当我修改了自己写的js后,怎么强制让浏览器更新 ?

展开
收起
小旋风柴进 2016-03-18 10:22:00 3087 0
2 条回答
写回答
取消 提交回答
  • var requireNoCache = (path) => {
    const resolvedModule = require.resolve(path);
    const ret = require(path);
    delete require.cache[resolvedModule];
    return ret;
    };
    然后用requireNoCache来引用自己的js就可以啦

    2019-07-17 19:06:02
    赞同 展开评论 打赏
  • 可以增加.js后缀,不要去掉

    require(['app.js?ver=1', 'router']..

    2019-07-17 19:06:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于浏览器的实时构建探索之路 立即下载
JavaScript 语言在引擎级别的执行过程 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载