使用多个数据主的 RequireJS
RequireJS using multiple data-main's
我正在使用RequireJs 2.0(或尝试使用)。
目前,我的资产分为"常规"和"自定义"部分。 所有页面都应使用常规脚本,而只有部分页面应使用自定义脚本。
据我所知,RequireJs 接受一个data-main
值,该值包含您的配置,基本上是您的模块需求。 如果所有页面都使用相同的资产,这很好,但是我将如何为自定义页面添加额外的data-main
脚本?
谢谢!
使用 data-main
属性加载通用脚本。在自定义页面上,无论您要执行需要自定义模块的操作,只需将其包装在require
调用中即可。 母版页(或模板或布局或服务器平台上调用的任何内容)将具有以下内容:
<html><head>
<script language="javascript" src="require.js" data-main="general" ></script>
</head>
您的自定义页面标记可能如下所示(来自内存的语法;仔细检查!
<p class="funny">I'm a funny paragraph</p>
<script language="javascript">
require(['funny-stuff'], function(fs) {
fs.doSomthing();
});
</script>
funny-stuff
模块只会由要求它的页面加载。 如果不想或不能在某些页面上使用单独的标记,则可以通过将require
调用包装在 if
语句中,从主脚本动态加载依赖项。 general.js
内:
// Determine if we need the custom module
if (isFunnyPage()) {
require(['funny-stuff'], function(fs) {
fs.doSomething();
});
}
运行优化器时必须小心,因为它会找到require
调用中引用的依赖项,默认情况下将其与主文件打包在一起。 因此,您需要配置优化器以排除自定义模块。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 要求输入在数据列表中
- 正在将数据主题添加到所有项目
- 函数参数中的数据与指定变量之间的任何性能差异
- 在VanillaJS中模拟模型双向数据绑定
- CSS-如何定位内容数据标题
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 序列化数据属性中对象的最可靠方法
- 如何将JSON数据导入我的ejs模板
- RequireJS:如何在模块之间传递更新的数据
- RequireJS 不遵循设置了 baseUrl 的数据主的相对路径
- 使用多个数据主的 RequireJS
- 使用数据绑定(KNOCKOUT.js)加载requirejs模块
- 如何在requirejs、javascript中的不同模块之间共享数据
- Angular+Requirejs-每个数据重复两次
- 如何使用requireJS为数据表配置多个源
- 使用jQuery作为没有数据主属性的模块来引导RequireJS应用程序
- 为什么requirejs尊重某些模块的数据主入口点,而不尊重其他模块
- 将服务器数据传递给 RequireJS 模块的首选方法是什么?