4

Java类加载器中,将 Java 类动态加载到 JVM 中。Javascript因为加载是异步完成的,所以我经常遇到对卸载的依赖项进行调用的问题。

我使用Angular JS框架。比如一个页面依赖一个API,但是Cannot read property 'realestate' of undefined调用的时候报错

gapi.client.realestate.get(propertyId).execute(function(resp) {
                    console.log(resp);
                });

因为没有加载 API。加载由

loadRealEstateAPI = function() {
    var ROOT = 'http://localhost:8888/_ah/api';
    gapi.client.load('realestate', 'v1', function() {
        console.log("Real Estate API loaded");
        $rootScope.$broadcast("reAPILoaded", true);
    }, ROOT);
}

我想知道是否有一个 JS 库可以让应用程序在加载所有依赖项时启动。

4

2 回答 2

2

RequireJS 正是这样做的,它允许您定义依赖项,然后仅在依赖项加载后才执行您的代码。如果您正在使用像 Google Maps API 这样的加载多个自身依赖项的东西,甚至还有一个插件会等待所有第三方依赖项也加载。

有一篇简短的文章向您展示了如何将 AngularJS 与 RequireJS 集成。作为一个额外的好处,Require 附带了一个优化器,您可以将其作为部署构建过程的一部分运行,以将所有本地文件编译到一个文件中。

于 2013-08-01T21:13:35.860 回答
0

我写了一个工具,基本上就是这样做的。它检测和管理您的解析时依赖项以及通常的运行时依赖项。

它在这里: http ://damonsmith.github.io/js-class-loader/

它是一个基于 java 的 javascript 捆绑器和依赖检测器,不是“我想将 jquery 添加到我的网站”中的依赖,而是“我想管理一个非常大的 OO 风格的运行时和解析时依赖的 JavaScript 代码库”中的依赖由开发人员团队编写”它旨在非常简单快速地安装和配置到 Java Web 应用程序和 IDE 中,它也适用于非 Java 应用程序。一旦它安装在您的构建或服务器中,您根本不需要担心它。

于 2013-10-30T05:06:08.947 回答