использовать модифицированный угловой модуль CDK в другом проекте локально - PullRequest
0 голосов
/ 29 декабря 2018

Я раздвоил, клонировал и изменил хранилище угловых материалов в соответствии со своими потребностями.Код в dev-приложении работает нормально.

Теперь я хочу использовать этот модуль, точнее DragDropmodule из @angular/cdk, в другом угловом приложении, над которым я работаю.

Поэтому я запустил gulp cdk:build-release и получил папку dist/releases/cdk, содержащую встроенные модули.

Как теперь использовать этот скомпилированный модуль DragDropModule в моем другом проекте? Я пытался npm link.Это работает до некоторой степени, так как я могу импортировать модуль сейчас

import { DragDropModule } from 'material2c/dist/releases/cdk/drag-drop';

Однако попытка ng serve дает кучу ошибок

ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js Module not found: Error: Can't resolve '@angular/cdk/bidi' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5' ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js Module not found: Error: Can't resolve '@angular/cdk/coercion' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5' ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js Module not found: Error: Can't resolve '@angular/cdk/platform' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5' ERROR in C:/Users/admin/Documents/material2/dist/releases/cdk/esm5/drag-drop.es5.js Module not found: Error: Can't resolve '@angular/cdk/scrolling' in 'C:\Users\admin\Documents\material2\dist\releases\cdk\esm5'

Любая помощь приветствуется :-)

1 Ответ

0 голосов
/ 29 декабря 2018

Импорт должен оставаться прежним, если проект правильно связан.Например:

import { DragDropModule } from '@angular/cdk'

Это потому, что npm link создает ссылку из связанного проекта на ./node_modules/@angular/cdk в целевом проекте.

Если вам нужно поделитьсявокруг модуля, вы можете быть заинтересованы в запуске npm pack в каталоге dist модуля, который должен вывести tarball, который затем вы можете установить npm в свой проект и легко поделиться с другими людьми.

...