Я создал проект с использованием angular-cli
. Есть один AppModule
и AppComponent
я хочу использовать этот AppModule
и его компоненты (AppComponent
) в других угловых приложениях. Поэтому я создал файл index.ts
и экспортировал AppModule
и AppComponent
export {AppModule} from './src/app/app.module';
export {AppComponent} from './src/app/app.component';
Затем создайте локальную npm link
используя npm link
и npm link
с именем, определенным в package.json.
Теперь в другом проекте, где я хочу использовать этот экспортированный модуль, запустите
npm link project-name
Связывание выполнено успешно. Я старался
import { AppModule as AModule} from 'my-components';
Но это не работает, так как webpack не удалось скомпилировать файл AppModule, поскольку ссылка не будет решена. В SystemJs Мы определили отображение этого файла systemjs.config.js, но нет файла конфигурации.
Как я могу это решить?
Есть ли другой способ повторного использования локальных модулей?
Вы не сможете. Позвольте мне процитировать
Мы не поддерживаем создание библиотеки с помощью CLI прямо сейчас. Мы поддерживаем связывание библиотек, встроенных в приложение CLI.
Добавьте следующее в ваш tsconfig.json
хост-приложения, в которое вы загружаете связанную с npm tsconfig.json
.
"paths": {
"@angular/*": ["node_modules/@angular/*"]
}
Очевидно, что связанные пакеты не могут нормально использовать зависимости от сверстников. Это заставит библиотеку использовать ваше приложение node_modules/@angular/* libs, что происходит, когда вы npm install
библиотеку npm install
.
это горячая тема на данный момент, которая, кажется, еще не была полностью закончена. Я получил следующую информацию:
Связывание lib, созданного угловым кли, не так просто. Вы можете прочитать в документах
https://github.com/angular/angular-cli/wiki/stories-linked-library
Я смог заставить его работать, следуя комментарию, представленному nimaen в этом сообщении https://github.com/angular/angular-cli/issues/3875
--BR Деннис
Теперь он работает с "preserveSymlinks": true
в вашем angular.json.
просто добавьте его туда: проект> архитектор> сборка.