Ответ 1
Попробуйте использовать компилятор es6 вместо es5. Раньше я сталкивался с подобной проблемой, и в режиме компиляции решалась проблема
Я также рекомендую вам использовать последнюю версию angular cli и обновить до angular 5
Использование 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.
Я пробовал:
simple-ui-lib
rollup
, используемой в simple-ui-lib
, для сборки с январяЕсли я консоль регистрирую BoxModule
, я вижу, что это значение существует и кажется зарегистрированным как @NgModule, поэтому я смущен тем, что эта ошибка пытается мне сказать.
Я видел эту ошибку в моих поисках, но похоже, что они почти всегда вызваны несоответствием версии между библиотекой и хост-приложением. В моем случае версии одинаковы.
Версии:
Любые идеи?
Обновление: расследуя больше, похоже, что это проблема с @ angular/cli. Открыта ошибка здесь: https://github.com/angular/angular-cli/issues/6429, но если у вас есть предложения, сообщите мне.
Попробуйте использовать компилятор es6 вместо es5. Раньше я сталкивался с подобной проблемой, и в режиме компиляции решалась проблема
Я также рекомендую вам использовать последнюю версию angular cli и обновить до angular 5