我们在data-main中一次指定了包含模块的文件,然后在脚本中再次要求该文件。我们以这种方式两次“导入”它。这样做有什么意义?
<script src="js/require.js" type="text/javascript" data-main="js/main"></script>
<script type="text/javascript">
require['main'], function () {
//load this page, once "main" has been loaded
require['something'];
}
</script>
最佳答案
从http://requirejs.org/docs/api.html#data-main:
如果要在HTML页面中执行require()调用,那么最好
不使用数据主。 data-main仅适用于页面
仅有一个主入口点,即数据主脚本。对于页面
要进行内联require()调用,最好将它们嵌套在
require()调用配置:
<script src="scripts/require.js"></script>
<script>
require(['scripts/config']), function() {
// Configuration loaded now, safe to do other require calls
// that depend on that config.
require(['foo'], function(foo) {
});
});
</script>
因此,如果您需要执行一些配置,则可以使用以下选项:
将所有逻辑设置为配置文件,然后通过data-main加载它。
制作一个内联脚本,并要求两次,如示例所示。
编码愉快,随时索取更多信息!
编辑:内联脚本内容可以与数据主引用文件的内容完全相同。
实际上,在RequireJS加载后,它会创建路径的脚本(带有async属性)。
因此,选择是您的选择,是内联的还是外部的。
另外,示例中的第一个要求仅加载配置。我认为这是一种不好的做法,但是如果必须的话,可以跳过第一个需求,而将配置复制到第二个需求的前面。
希望能帮助到你! :)