javascript - RequireJS 和 JavaScript API

标签 javascript api export requirejs

我正在使用 here 中的示例项目.

假设我需要从模块中导出一些函数,以便为我的服务的客户端提供一些 JavaScript API。

但是我的 .js 文件中的声明在 RequireJS 之外不可见!

我将以下 block 添加到 jquery-require-sample/webapp/app.html:

<script type="text/javascript">
   $(document).ready(function() {
      $('body').alpha().beta();
   });
</script>

失败:未捕获类型错误:对象 [object Object] 没有方法“alpha”

可以做我想做的事吗?

最佳答案

根据您提供的代码,我假设您在 app.html 中的现有脚本标记之后添加了代码。我认为你所看到的是一个时间问题。加载页面后,查看<head>标签,您应该按以下顺序看到脚本标签:

  1. “require”脚本
  2. 你的新脚本
  3. 阿尔法
  4. 测试版

因此它会在运行 alpha 和 beta 之前运行您的脚本。原因是 require 将处理第一个脚本,但不会执行 main.js 的“内容”,直到运行所有依赖项(alpha 和 beta)。

我希望这有帮助。对代码的以下更改也可能说明发生了什么情况。 setTimeout 为 alpha 和 beta 提供了加载的机会:

<script type="text/javascript">
  setTimeout(function(){
           $(document).ready(function() {
              $('body').alpha().beta();
           });
           }, 5000);
</script>

关于javascript - RequireJS 和 JavaScript API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374176/

相关文章:

javascript - 捕获在 jQuery 中单击复选框的标题

javascript - 关于正则表达式的问题

javascript - 从 eBay 中的查找商品高级 API 返回商品属性

export - 如何使用OctoberCMS中的DynamicPDF插件从后端列表导出PDF

mysql - 将Mysql查询的结果导出到excel?

javascript - 如何从 Cypress 的属性文件中读取配置?

javascript - 客户端路由(使用 react-router)和服务端路由

java - 我应该在 Post 方法中设置哪个 IP 地址?

api - Web 应用程序和 API 在同一个 Laravel 项目中?

javascript - 使用 JavaScript 创建导出函数?