ng-bootstrap: ReferenceError: документ не определен - PullRequest
0 голосов
/ 24 мая 2018

У меня есть приложение Angular 6 SSR, и я добавил к нему ng-bootstrap, но при сборке и запуске SSR я получаю сообщение об ошибке:

ReferenceError: Document is not defined
    at NgbFocusTrapFactory.ctorParameters (J:\Java\workstation\front\.server\server.js:2221:48333)
    at ReflectionCapabilities._ownParameters (J:\Java\workstation\front\.server\server.js:76:1668)
    at ReflectionCapabilities.parameters (J:\Java\workstation\front\.server\server.js:76:2482)
    at JitReflector.parameters (J:\Java\workstation\front\.server\server.js:3226:919)
    at CompileMetadataResolver._getDependenciesMetadata (J:\Java\workstation\front\.server\server.js:2665:25829)
    at CompileMetadataResolver._getTypeMetadata (J:\Java\workstation\front\.server\server.js:2665:23935)
    at CompileMetadataResolver._getInjectableTypeMetadata (J:\Java\workstation\front\.server\server.js:2665:31300)
    at CompileMetadataResolver.getProviderMetadata (J:\Java\workstation\front\.server\server.js:2665:31593)
    at J:\Java\workstation\front\.server\server.js:2665:29171
    at Array.forEach (<anonymous>)

Почему я получаю Document is not defined?я должен сделать что-то с Webpack или с чем-то еще?

webpack : ^4.0.0
angular": 6.0.0-rc.6, 
ng-bootstrap: ^2.0.0,

1 Ответ

0 голосов
/ 25 мая 2018

I решено эта проблема с jsdom-global .

jsdom-global вставит документ, окно и другие DOM API в ваш Node.jsсреда.Полезно для запуска в Node.js тестов, созданных для браузеров.

1) Выполнить: npm install --save-dev --save-exact jsdom jsdom-global

2) Добавить: require('jsdom-global')() в vendor.ts

...