Javascript 我们能否在angular应用程序中使用requirejs来管理/模块化应用程序的一部分?

Javascript 我们能否在angular应用程序中使用requirejs来管理/模块化应用程序的一部分?,javascript,angularjs,requirejs,Javascript,Angularjs,Requirejs,我有一个现有的angular web应用程序,它不使用require.js。我必须在现有应用程序中创建一个新的业务模块。我可以只对新模块使用require.js吗?这样我就不必接触现有的代码了 现有index.html如下所示: <html> <head> ... </head> <body> ... <script src="http://cdn.gse.site/angular/1.2.9/angular.js"></scr

我有一个现有的angular web应用程序,它不使用require.js。我必须在现有应用程序中创建一个新的业务模块。我可以只对新模块使用require.js吗?这样我就不必接触现有的代码了

现有index.html如下所示:

<html>
<head>
...
</head>
<body>
...

<script src="http://cdn.gse.site/angular/1.2.9/angular.js"></script>
<script src="js/angular-ui-router.js"></script>
<script src="js/services/angDashboardService.js"></script>
<script src="js/controllers/angDashboardController.js"></script>
<--- More custom scripts here --->

</body>
</html>
我得到的错误如下:

Uncaught Error: [ng:btstrpd] App Already Bootstrapped with this Element '<body class="preload ng-scope" ng-app="angDashboard">'
未捕获错误:[ng:btstrpd]应用程序已使用此元素“”启动
我们能否在angular应用程序中使用requirejs来管理/模块化应用程序的一部分

是的,你可以(但为什么…?)。如果你不知道自己在做什么,你会头疼得厉害

无论如何,要做到这一点,你必须完全理解
angularJS
requireJS
的概念

<script src="http://cdn.gse.site/angular/1.2.9/angular.js"></script>
<script src="js/angular-ui-router.js"></script>
<script src="js/services/angDashboardService.js"></script>
<script src="js/controllers/angDashboardController.js"></script>
异步模块.js

//假设你在某个地方做了这件事
//var app=angular.module([…]);
//
//现在您需要将此“应用程序”转换为全局变量。所以您可以使用它,它需要js/define块
//window.app=angular.module([…]);
定义(函数(){
window.app.controller('asyncCtrl',function($scope){
//控制器代码在这里
});
});
然后在应用程序中的某个地方,当您想加载此
异步模块时

requirejs(['async-module'], function(){
    console.log('asyncCtrl is loaded!');
});
SUMARY>> 按照你的要求去做是可能的,但效果不是很好。而且在代码管理方面会像地狱一样

  • 如果这个答案花了你不到5分钟的时间来理解,你可以试一试
  • 如果你花了超过5分钟的时间去理解。我强烈建议你不要这样做。以普通方式使用requireJS和angularJS(所有由requireJS加载的内容)已经很复杂和棘手了。这个用例甚至更重要
requirejs(['async-module'], function(){
    console.log('asyncCtrl is loaded!');
});