我是angularjs的新手,并且已经基于angularjs教程创建了三个应用程序。
https://docs.angularjs.org/tutorial
应用为documentprofileApp
,machineorderApp
和regionresourceApp
。我已经为core
文件夹中的每个文件夹设置了服务。核心文件夹中还有一个名为checkmark
的过滤器。
要使用checkmark
,请在应用程序模块中输入'core'
作为依赖项。 如果要在checkmark
中使用documentprofileApp
,则必须将脚本引用添加到machineorder
和regionresource
服务文件中,否则会出现注入错误。< / strong>
documentprofileApp不使用这些服务,因此我不希望不必引用它们。
我的问题是,我应该在核心文件夹之外创建服务,还是在各种模块中如何引用依赖项方面设置不正确。
我没有引用“ core”作为依赖项,而是尝试引用“ core.checkmark”,类似于如何引用服务(core.document,core.machineorder等)。这不起作用。
我回到了该教程,并确保我理解并遵循他们在此处的设置方法。由于这是一个入门教程,可能只是出于其目的而简化了,我需要寻找其他资源来学习如何为多个应用程序设置项目。
文件夹结构:
core.module:
angular.module('core', [
'core.document',
'core.organization',
'core.department',
'core.machineorder',
'core.regionresource',
'core.region']);
app.module:
angular.module('documentprofileApp', [
'ngAnimate',
'ngRoute',
'core',
'documentDetail',
'documentList'
]);
angular.module('machineorderApp', [
'ngAnimate',
'ngRoute',
'ngCookies',
'thatisuday.dropzone',
'machineorderDetail',
'machineorderList'
]);
angular.module('regionresourceApp', [
'ngAnimate',
'ngRoute',
'regionresourceDetail',
'regionresourceList'
]);
document-list.module:
angular.module('documentList', ['core.document']);
布局模板:
<head>
<title>Document Profiles</title>
@Styles.Render("~/bundle/machineOrderFileCommonCss")
@Scripts.Render("~/bundle/machineOrderFileCommonJs")
@Scripts.Render("~/bundle/documentProfileJs")
<script src="/app/core/machineorder/machineorder.module.js" type="text/javascript"></script>
<script src="/app/core/machineorder/machineorder.service.js" type="text/javascript"></script>
<script src="/app/core/regionresource/regionresource.module.js" type="text/javascript"></script>
<script src="/app/core/regionresource/regionresource.service.js" type="text/javascript"></script>
</head>
<div ng-app="documentprofileApp">
<div class="view-container">
<div ng-view class="view-frame"></div>
</div>
</div>
捆绑包:
bundles.Add(new ScriptBundle("~/bundle/machineOrderFileCommonJs").Include(
"~/Scripts/common.js",
"~/Scripts/angular.min.js",
"~/Scripts/angular-animate.min.js",
"~/Scripts/angular-resource.min.js",
"~/Scripts/angular-route.js",
"~/Scripts/angular-ui/ui-bootstrap-tpls.min.js",
"~/Scripts/angular-messages.min.js",
"~/app/app.module.js",
"~/app/app.config.js",
"~/app/core/core.module.js"
));
bundles.Add(new ScriptBundle("~/bundle/machineOrderFileJs").Include(
"~/Scripts/angular-cookies.min.js",
"~/Code/FileManagement/dropzone.js",
"~/Scripts/ng-dropzone.js",
"~/app/core/machineorder/machineorder.module.js",
"~/app/core/machineorder/machineorder.service.js",
"~/app/machineorder-list/machineorder-list.module.js",
"~/app/machineorder-list/machineorder-list.component.js",
"~/app/machineorder-detail/machineorder-detail.module.js",
"~/app/machineorder-detail/machineorder-detail.component.js"
));
bundles.Add(new ScriptBundle("~/bundle/documentProfileJs").Include(
"~/app/core/checkmark/checkmark.filter.js",
"~/app/core/document/document.module.js",
"~/app/core/document/document.service.js",
"~/app/core/organization/organization.module.js",
"~/app/core/organization/organization.service.js",
"~/app/core/department/department.module.js",
"~/app/core/department/department.service.js",
"~/app/document-list/document-list.module.js",
"~/app/document-list/document-list.component.js",
"~/app/document-detail/document-detail.module.js",
"~/app/document-detail/document-detail.component.js"
));
在此先感谢所有可以提供为何必须链接服务文件的见解的人。
答案 0 :(得分:0)
您的错误消息解码如下:
由于以下原因,无法实例化模块
documentprofileApp
: [$ injector:modulerr] http://errors.angularjs.org/1.7.7/$injector/modulerr?p0=c...。由于以下原因,无法实例化模块
core
: [$ injector:modulerr] http://errors.angularjs.org/1.7.7/$injector/modulerr?p0=c...由于以下原因,无法实例化模块
core.machineorder
: {1}
模块无法加载的常见原因是您忘记了将文件包含在已定义的模块中,或者无法加载该文件。
您没有包含这些文件,或者模块未命名为"core.machineorder"
。