dzm*_*dzm 9 javascript requirejs
我正在使用RequireJs 2.0(或尝试使用).
目前,我的资产分为"常规"和"自定义"部分.所有页面都应该使用常规脚本,而只有一些页面应该使用自定义.
从我可以告诉RequireJs,接受一个data-main值来保存你的配置,基本上你的模块需要.如果所有页面都使用相同的资源,这很好,但是如何data-main为自定义页面添加其他脚本?
谢谢!
使用您的data-main属性加载您的常规脚本。在自定义页面上,无论您要做什么需要自定义模块,只需将其包装在调用中即可require。您的母版页(或模板或布局或服务器平台上的任何名称)将具有以下内容:
<html><head>
<script language="javascript" src="require.js" data-main="general" ></script>
</head>
Run Code Online (Sandbox Code Playgroud)
您的自定义页面标记可以如下所示(内存中的语法;仔细检查!)
<p class="funny">I'm a funny paragraph</p>
<script language="javascript">
require(['funny-stuff'], function(fs) {
fs.doSomthing();
});
</script>
Run Code Online (Sandbox Code Playgroud)
该funny-stuff模块只会被请求它的页面加载。如果您不想或不能在某些页面上有单独的标记,您可以通过将调用包装在语句require内来从主脚本动态加载依赖项if。之内general.js:
// Determine if we need the custom module
if (isFunnyPage()) {
require(['funny-stuff'], function(fs) {
fs.doSomething();
});
}
Run Code Online (Sandbox Code Playgroud)
运行优化器时必须小心,因为它会找到调用中引用的依赖项require,并默认将其打包到主文件中。因此,您需要配置优化器以排除自定义模块。
| 归档时间: |
|
| 查看次数: |
3178 次 |
| 最近记录: |