我试图创建一个脚本,将包括所有需要的人,使我的角度应用程序的工作,但似乎并没有工作:角脚本加载:如何将所有脚本只需一个电话
function include(destination) {
var e = window.document.createElement('script');
e.setAttribute('src', destination);
window.document.body.appendChild(e);
}
include('../Scripts/myApp/main.js');
include('../Scripts/myApp/appConfig.js');
include('../Scripts/myApp/MyAppController.js');
include('../Scripts/myApp/Service1.js');
include('../Scripts/myApp/Service2.js');
不幸的是,如果我试图包含这样的应用程序脚本(它工作顺便说一句,它们完全加载到页面中),我得到一个错误,因为角度检测到我的“ng-app ='myAppName'”指令,但发现没有模块声明对于它(我想,因为脚本尚未加载角度检查时)。如果我然后尝试至少将模块实例化放在由HTML页面(main.js)直接调用的脚本上,那么它会抱怨控制器,服务等不存在,如果我将它们附加到自己内部的应用程序文件(app.controller(),app.factory,...)它不会抱怨,但它也不会发生。
看起来像加载脚本这样使Angular不执行它们,因为它们可能被加载得太晚或什么。这样做的唯一方法就是设置一个脚本标记来调用HTML上的脚本。
但我有我失去了一些东西的感觉,有这样的一种方式,我只是没有看到它。
有谁知道如何通过调用其中一个来加载所有必需的脚本?是否有角度的应用程序配置,可以设置这样做也许?
它只是看起来太脏,无法拨打这么多电话,而且在性能方面也不好。
我检查过有一种叫做Yeoman的东西,但它看起来对于我想要的东西来说太大了,于是我看到了RequireJS,但我不确定这就是我真正想要的,并且再次不确定我想要安装另一个库为了这。最后,我已经看到,在应用程序配置中,您可以设置在何处查找视图,甚至是加载控制器的方式(我认为,现在我不确定任何事情,我的头很头晕),所以我想也许Angular已经有一些东西可以做到这一点,看起来很自然,将脚本加入到一个中?
非常感谢。
非常感谢,我一直在寻找RequireJS,它看起来像我正在寻找的,其他答案也很好,但它看起来像RequireJS是要走的路。 –