Ссылка npm не работает с созданными angular-cli проектами

2

Я создал проект с использованием 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, но нет файла конфигурации.

Как я могу это решить?

Есть ли другой способ повторного использования локальных модулей?

  • 0
    Вы смогли решить это?
  • 0
    еще нет :(. дам вам знать
Теги:
angular
webpack
angular-cli
npm-link

4 ответа

1
Лучший ответ

Вы не сможете. Позвольте мне процитировать

Мы не поддерживаем создание библиотеки с помощью CLI прямо сейчас. Мы поддерживаем связывание библиотек, встроенных в приложение CLI.

https://github.com/angular/angular-cli/issues/9273

1

Добавьте следующее в ваш tsconfig.json хост-приложения, в которое вы загружаете связанную с npm tsconfig.json.

    "paths": {
      "@angular/*": ["node_modules/@angular/*"]
    }

Очевидно, что связанные пакеты не могут нормально использовать зависимости от сверстников. Это заставит библиотеку использовать ваше приложение node_modules/@angular/* libs, что происходит, когда вы npm install библиотеку npm install.

1

это горячая тема на данный момент, которая, кажется, еще не была полностью закончена. Я получил следующую информацию:

Связывание lib, созданного угловым кли, не так просто. Вы можете прочитать в документах

https://github.com/angular/angular-cli/wiki/stories-linked-library

Я смог заставить его работать, следуя комментарию, представленному nimaen в этом сообщении https://github.com/angular/angular-cli/issues/3875

--BR Деннис

  • 0
    У меня все еще есть эта проблема, и я не могу решить ее с помощью этого решения, представленного на страницах вопросов, любая идея?
0

Теперь он работает с "preserveSymlinks": true в вашем angular.json.

просто добавьте его туда: проект> архитектор> сборка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню