gpt4 book ai didi

javascript - 模块化 Angular

转载 作者:数据小太阳 更新时间:2023-10-29 05:11:58 30 4
gpt4 key购买 nike

我正在开始一个新的 Angular 项目并尝试模块化我的所有代码——我厌倦了拥有大量的 app.js 文件,而且因为我正在为一家公司开发一个平台,所以我的代码整洁且模块化以便于测试、清洁和易于过渡到 Angular 2。

目前,我有三个 Angular 文件来设置所有内容:

Angular.module.js

angular
.module('app', [
/* Shared Modules */
'app.config',
'app.states'
/* Feature Areas */
])

Angular.config.js

   angular
.module('app', [
/* Angular Modules */
'ngResource',
'ngSanitize',
/* 3rd-party Modules */
'ui.router'
]);

Angular.states.js

    angular
.module('app')
.config([
'$stateProvider',
'$urlRouterProvider',
'$locationProvider',
function($stateProvider, $urlRouterProvider, $locationProvider){

// Unknown URLs go to 404
$urlRouterProvider.otherwise('/404');
// No route goes to index
$urlRouterProvider.when('', '/');

// State provider for routing
$stateProvider
.state('home', {
url: '/',
views: {
'': {
templateUrl: 'home/_home.html'
}
}
});
}]);

这是我的index.html

    <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>App</title>
<link rel="stylesheet" href="/content/stylesheets/screen.css">

<!-- Angular Dependencies -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<script src="https://code.angularjs.org/1.3.15/angular-sanitize.min.js"></script>
<script src="https://code.angularjs.org/1.3.15/angular-resource.min.js"></script>

<!-- Angular Modules -->
<script src="/app/app.config.js"></script>
<script src="/app/app.states.js"></script>
<script src="/app/app.module.js"></script>
</head>
<body ng-app="app">
<div id="wrapper">
<div ui-view></div>
</div>
</body>
</html>

我一直遇到这个错误:

Uncaught Error: [$injector:modulerr]

我做错了什么?我很难理解如何让我的各种 Angular 文件相互交互。我遗漏了状态 Controller ,因为我现在只是在测试 View 。

最佳答案

通过写作:

angular.module('app', [
/* Shared Modules */
'app.config',
'app.states'
/* Feature Areas */
])

您创建了一个名为 app 的模块,它需要 2 个模块:app.configapp.states。如果其中一个缺失或无效,app 模块将无法启动。

在您的 config.js 中,您编写 angular.module('app', [...])。这将创建一个名为 app 的模块,它具有“[...]”之间的依赖关系。但是,您已经在 module.js 中创建了一个名为“app”的模块。

config.js 中的模块名称更改为 angular.module('app.config', [...])

在您的 states.js 文件中,还有另一件事:angular.module('app') 为您提供您在 module.js 文件中创建的模块。你可以调用它的配置方法,这不是问题。但是,您在 app 模块中定义了对 app.states 的依赖。您可以删除此依赖项,或将 angular.module('app') 替换为 angular.module('app.states', []).config(...)

希望对你有帮助。

关于javascript - 模块化 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36047729/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com