Неожиданное значение "..." импортируется модулем "...". Добавьте примечание @NgModule

Использование 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, но если у вас есть предложения, сообщите мне.

Ответ 1

Попробуйте использовать компилятор es6 вместо es5. Раньше я сталкивался с подобной проблемой, и в режиме компиляции решалась проблема

Я также рекомендую вам использовать последнюю версию angular cli и обновить до angular 5