Не удается найти модуль 'ngx- bootstrap' - PullRequest
6 голосов
/ 07 апреля 2020

У меня возникла проблема в приложении с ngx- bootstrap, из-за которой теперь он не может обнаружить модуль, если вы не укажете путь

Например:

import { BsModalService, BsModalRef } from 'ngx-bootstrap';

выдает " Не удается найти модуль 'ngx- bootstrap' ".

Удаление ссылки и проверка исправлений просто заменяет ссылку на:

import { BsModalService, BsModalRef} from 'ngx-bootstrap/modal/public_api';

Очевидно, это не не идеальны, так как они должны быть доступны через ngx- bootstrap без указания папки, и мне пришлось бы go через десятки компонентов и изменить эти ссылки, которые не должны быть необходимы. У кого-нибудь была эта проблема раньше?

Я уже пробовал:

  • npm install
  • npm update на случай, если в последних коммитах были обновления
  • Удаление папки node_modules и снова npm install
  • Самостоятельная переустановка ngx- bootstrap - npm install ngx-bootstrap --save
  • npm cache clean
  • Я даже начал заново sh и клонировал мое приложение в другое место, запустите npm install, и то же самое происходит

Вчера все работало нормально. Я не уверен, что мне не хватает.

Дополнительная информация:

Angular CLI: 9.0.2
Node: 12.16.1
OS: win32 x64
Angular: 9.0.1

пакет. json:

    "private": true,
  "dependencies": {
    "@agm/core": "^1.1.0",
    "@angular-devkit/build-angular": "^0.900.7",
    "@angular/animations": "9.0.1",
    "@angular/cdk": "^9.2.0",
    "@angular/common": "9.0.1",
    "@angular/compiler": "9.0.1",
    "@angular/core": "9.0.1",
    "@angular/forms": "9.0.1",
    "@angular/platform-browser": "9.0.1",
    "@angular/platform-browser-dynamic": "9.0.1",
    "@angular/router": "9.0.1",
    "@auth0/angular-jwt": "^4.0.0",
    "@microsoft/signalr": "^3.1.3",
    "@ng-select/ng-select": "^3.7.3",
    "@ngx-progressbar/core": "^5.3.2",
    "@ngx-pwa/local-storage": "^9.0.3",
    "@types/date-fns": "^2.6.0",
    "angular-9-datatable": "^0.1.1",
    "angular-calendar": "^0.28.2",
    "angular-gauge": "^3.1.2",
    "angular-gridster2": "^9.0.1",
    "angular-resize-event": "^1.2.1",
    "bootstrap": "^4.4.1",
    "chartjs-plugin-annotation": "^0.5.7",
    "ckeditor4-angular": "^1.1.0",
    "core-js": "^3.6.4",
    "crypto-js": "^4.0.0",
    "echarts": "^4.7.0",
    "file-saver": "^2.0.2",
    "html2canvas": "^1.0.0-rc.5",
    "jspdf": "^1.5.3",
    "moment": "^2.24.0",
    "moment-timezone": "^0.5.27",
    "ng-dynamic-component": "^6.1.0",
    "ng2-dragula": "^2.1.1",
    "ng4-charts": "^1.0.2",
    "ngx-bootstrap": "^5.3.2",
    "ngx-color": "^4.1.1",
    "ngx-echarts": "^4.2.2",
    "ngx-image-compress": "^8.0.4",
    "ngx-image-cropper": "^3.1.5",
    "ngx-infinite-scroll": "^8.0.1",
    "ngx-material-timepicker": "^5.5.1",
    "ngx-pagination": "^5.0.0",
    "ngx-swiper-wrapper": "^9.0.1",
    "ngx-toastr": "^12.0.1",
    "pluralize": "^8.0.0",
    "rxjs": "6.5.4",
    "rxjs-compat": "6.5.4",
    "time-ago-pipe": "^1.3.2",
    "tslib": "^1.10.0",
    "valid-url": "^1.0.9",
    "zone.js": "^0.10.3"
  },
  "devDependencies": {
    "@angular/cli": "9.0.2",
    "@angular/compiler-cli": "9.0.1",
    "@angular/language-service": "9.0.1",
    "@types/echarts": "^4.4.4",
    "@types/file-saver": "^2.0.1",
    "@types/googlemaps": "^3.39.2",
    "@types/jasmine": "3.5.3",
    "@types/jasminewd2": "2.0.8",
    "@types/jspdf": "^1.3.3",
    "@types/node": "^13.9.8",
    "@types/pluralize": "0.0.29",
    "@types/valid-url": "^1.0.3",
    "codelyzer": "^5.2.2",
    "ie-shim": "^0.1.0",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^4.4.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.1",
    "karma-jasmine": "~3.1.1",
    "karma-jasmine-html-reporter": "^1.5.3",
    "node-sass": "^4.13.1",
    "protractor": "~5.4.3",
    "ts-node": "~8.6.2",
    "tslint": "~6.0.0",
    "typescript": "3.7.5",
    "webpack-bundle-analyzer": "^3.6.1"
  },

Если у кого-то есть идеи, дайте мне знать

Спасибо!

Ответы [ 6 ]

13 голосов
/ 11 апреля 2020

На основе ngx- bootstrap документации , angular 9 не поддерживает этот вид импорта. Если вы хотите использовать BsModalService, ButtonsModule и т. Д., Вы должны импортировать их, как показано ниже:

// RECOMMENDED
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
import { ButtonsModule } from 'ngx-bootstrap/buttons';

вместо:

// NOT RECOMMENDED
import { BsModalService, BsModalRef , ButtonsModule } from 'ngx-bootstrap';
8 голосов
/ 10 апреля 2020

Согласно https://github.com/valor-software/ngx-bootstrap/issues/5753

Обновленная документация: https://valor-software.com/ngx-bootstrap/# / modals

 // RECOMMENDED
import { ModalModule } from 'ngx-bootstrap/modal';
// NOT RECOMMENDED (Angular 9 doesn't support this kind of import)
import { ModalModule } from 'ngx-bootstrap';

@NgModule({
  imports: [ModalModule.forRoot(),...]
})
export class AppModule(){}

Это идеальное решение, так как это тот, который задокументирован сопровождающим репо.

2 голосов
/ 07 апреля 2020

У меня была такая же проблема сегодня, пытаясь обновить с Angular 9.0.2 до Angular 9.1.0 .

Я думаю, это потому, что в вашем пакете . json: "ngx- bootstrap": "^ 5.3.2" , поэтому npm использует последнюю версию, доступную на ngx- тег bootrap: 5.6.0 . (По крайней мере, это версия, которую я имею сегодня)

Я решил просто заменить импорт моего кода с 'ngx- bootstrap' на 'ngx-bootstrap / someBootstrapComponent '.

Например, мой предыдущий импорт был:

import { BsModalRef, BsModalService } from 'ngx-bootstrap';

И мой новый импорт выглядит так:

import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';

Я знаю, что это не идеальное решение, но между тем по крайней мере, вы можете правильно скомпилировать свое приложение.

Надеюсь, это поможет.

С наилучшими пожеланиями, Хесус.

0 голосов
/ 30 апреля 2020

import {ModalModule} из 'ngx-bootstrap / modal';

Это должно работать .. простое решение

0 голосов
/ 09 апреля 2020

По какой-то причине тот же пакет. json, который запускался раньше, теперь не работает. Советы выше работают как шарм. Решение: удалите ^. «ngx- bootstrap»: «^ 5.3.2» до «ngx- bootstrap»: «5.3.2»

0 голосов
/ 08 апреля 2020

Похоже, что это может быть проблема с более поздними версиями ngx- bootstrap. В моем пакете. json я заменил "ngx-bootstrap": "^5.3.2" на "ngx-bootstrap": "5.3.2", запустил npm install, и он без проблем сработал.

...