gpt4 book ai didi

javascript - Requirejs 和外部脚本

转载 作者:行者123 更新时间:2023-11-28 08:07:38 24 4
gpt4 key购买 nike

嗨,我有一个使用 requirejs 构建的 js 应用程序。现在我有其他开发人员的外部页面,他可以加载他的脚本、html、css 和其他与我无关的东西。这是我的模块的示例,它将连接到他的页面:

require(['page', 'widgetGame', 'adDynamic'], function (Page, WidgetGame, AdDynamic) {
function PageExternalGame (params) {
var params = params || {};
Page.call(this, params); // call super constructor.
};

PageExternalGame.prototype.gameLoadingComplete = function() {
alert(111);
};

window.yepiExternalPageGame = new PageExternalGame();
return PageExternalGame;
});

这里是他的页面示例:

<!DOCTYPE HTML>
<html lang="en"><head>
</head>
<body>
<div id='gameArea'>
<canvas id='canvas0' width='480' height='320' style="position: absolute; "></canvas>
</div>
<script data-main="../../YepiMobileNew/UI/js/pageExternalGame" src="http://requirejs.org/docs/release/2.1.14/minified/require.js"></script>
<script src='js/gamemin.js'></script>
<script>yepiExternalPageGame.gameLoadingComplete()</script>
</body>
</html>

因此,在他的页面中,他调用我的对象 yepiExternalPageGame,该对象应该由 requirejs 加载。但是当他调用这个对象时,require本身已经加载了,但是类pageExternalGame仍然没有加载,所以当他调用它时这个对象不存在。该如何处理呢? (他的外部脚本也可以调用我的对象)。谢谢。

最佳答案

首先,如果您与其他人共享您的 amd 应用程序,最好创建不使用 require.js 的构建,这样您就不会强制其他开发人员添加另一个库并增加页面大小。您可以使用 almond.js 来做到这一点

回到你的问题。

改变

<script>yepiExternalPageGame.gameLoadingComplete()</script>

<script>
require(['../../YepiMobileNew/UI/js/pageExternalGame'], function() {
yepiExternalPageGame.gameLoadingComplete();
});
</script>

这会有帮助。

关于javascript - Requirejs 和外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com