Я новичок в angularjs и создал три приложения на основе учебника angularjs.
https://docs.angularjs.org/tutorial
Это приложения documentprofileApp
, machineorderApp
и regionresourceApp
.Я установил службы для каждого из них, которые находятся в папке core
.Также в основной папке находится фильтр с именем checkmark
.
Чтобы использовать checkmark
, вы вводите 'core'
в качестве зависимости в app.module. Если я хочу использовать checkmark
в documentprofileApp
, я должен добавить ссылки на скрипты в файлы служб machineorder
и regionresource
, или я получаю ошибку внедрения.
Ошибка: [$ инжектор: modulerr] http://errors.angularjs.org/1.7.7/$injector/modulerr?p0=documentprofileApp&p1=%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.7.7%2F%24injector%2Fmodulerr%3Fp0%3Dcore%26p1%3D%255B%2524injector%253Amodulerr%255D%2520http%253A%252F%252Ferrors.angularjs.org%252F1.7.7%252F%2524injector%252Fmodulerr%253Fp0%253Dcore.machineorder...
documentprofileApp не использует эти службы, поэтому я бы предпочел, чтобы ссылки на них отсутствовали.
Мой вопрос заключается в том, должен ли я создавать службы вне основной папки или я что-то неправильно настроил в отношении ссылок на зависимости в различных модулях.
Вместо ссылки на ядро какзависимость, которую я пытался ссылаться на «core.checkmark», аналогично тому, как ссылки на сервисы (core.document, core.machineorder и т. д.).Это не работает.
Я вернулся к уроку и убедился, что понял и следовал тому, как они его там установили.Поскольку это вводное руководство, возможно, оно просто упрощено по назначению, и мне нужно искать другие источники, чтобы узнать, как настроить мой проект для нескольких приложений.
Структура папки:
FolderStructure
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"
));
Заранее благодарю всех, кто может предложить любое понимание того, почемуслужебные файлы должны быть связаны.