seajs中,两个js文件暴露的方法相互调用,出现bug

发布于 2022-09-01 20:38:48 字数 982 浏览 14 评论 0

a.js文件
define(function(require, exports) {

  var b = require("b.js");
  exports.write = function(msg){
      return "我写:" + msg;
  };
  console.log("--------------------");
  console.log(b.say("我在a.js"));
  console.log("--------------------");

});

b.js
define(function(require, exports) {

  var a = require("a.js");
  exports.say = function(msg){
      return "我说:" + msg;
  };
  console.log("--------------------");
  console.log(a.say("我在b.js"));
  console.log("--------------------");

});

a.html
<script>

seajs.use("a.js");

</script>

b.html
<script>

seajs.use("b.js");

</script>

--------------------------------上位源代码------------------------------
原因自己觉得是,运行a.html文件,首先加载a.js文件,之后由于var b = require("b.js"),将会引用b.js,那么b.js文件就会运行起来,当b.js文件运行到console.log(a.say("我在b.js")),那么就会报错,求解决.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文