dVa*_*ion 5 javascript requirejs r.js
我使用r.js优化器根据构建配置文件组合js文件,如文档中所建议的那样.这是我的build-config.js:
({
baseUrl: ".",
paths: {
jquery: '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min',
},
name: "main",
out: "main-built.2013-07-30.js"
})
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它基于main.js文件,这里是它的代码:
requirejs.config({
baseUrl: 'scripts',
urlArgs: "bust=" + (new Date()).getTime(),
paths: {
jquery: [
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min',
'lib/jquery-1.9.1.min',
],
},
});
require([
'layout',
'cue',
], function() {
});
Run Code Online (Sandbox Code Playgroud)
如果我保留urlArgs: "bust=" + (new Date()).getTime()在main.js中的所有外部文件(这里是从CDN加载的jquery)看起来像.../jquery.js?bust=1377412213
因此,每当我进行构建时,PITA都会注释掉这一行.我已经阅读了所有文档并搜索了解决方案,但一切都是徒劳的.也许我做错了?
以下解决方案适用于您的情况,即您在 r.js 构建中重命名 main.js 文件:
urlArgs: require.specified('main') ? "bust="+(new Date()).getTime() : null
Run Code Online (Sandbox Code Playgroud)
上面的代码片段将检查名为“main”的模块,该模块在开发中匹配,但在生产中不匹配,其中该模块名为“main-built.2013-07-30”。
我已经在开发和生产版本中进行了测试,它有效!:-)
关于 require.specified() 函数: 使用 requirejs 是否可以检查模块是否已定义而不尝试加载它?
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |