Использование Angular.
Шаги:
-
Клонировал этот простой пользовательский интерфейс, демонстрирующий текущие стандарты пакета Angular: https://github.com/jasonaden/simple-ui-lib
-
Создано новое тестовое приложение с
ng new testApp
-
npm link
simple-ui-lib/dist
-
npm link simple-ui-lib
в testApp -
Импортировал примерный модуль из simple-ui-lib в testApp:
В файле app.module.ts:
import { BoxModule } from 'simple-ui-lib';
...
@NgModule({
...
imports: [
...
BoxModule
]
})
Webpack компилируется отлично, но я получаю эту ошибку в браузере и ничего не загружается:
compiler.es5.js: 1540 Ошибка при вскрытии: Неожиданное значение 'BoxModule' импортированный модулем "AppModule". Добавьте примечание @NgModule.
Я пробовал:
- Очистка кэша npm
- Повторная установка всех модулей node
- Принуждение всех модулей Angular к одной и той же версии в обоих проектах
- Проверено, что все модули Angular являются одной и той же версией в обоих проектах
- Проверено, что версия TypeScript в обоих проектах одинакова.
- Использование других пакетов модулей примеров вместо
simple-ui-lib
- Создал совершенно новый проект с той же настройкой
- Превышение версии
rollup
, используемой вsimple-ui-lib
, для сборки с января
Если я консоль регистрирую BoxModule
, я вижу, что это значение существует и кажется зарегистрированным как @NgModule, поэтому я смущен тем, что эта ошибка пытается мне сказать.
Я видел эту ошибку в моих поисках, но похоже, что они почти всегда вызваны несоответствием версии между библиотекой и хост-приложением. В моем случае версии одинаковы.
Версии:
- TypeScript: 2.2.0
- @angular/cli: 1.0.4
- @angular/common: 4.1.3
Любые идеи?
Обновление: расследуя больше, похоже, что это проблема с @ angular/cli. Открыта ошибка здесь: https://github.com/angular/angular-cli/issues/6429, но если у вас есть предложения, сообщите мне.