chr*_*15r 33 node.js npm typescript ngx-bootstrap angular
我在使用 ngx-bootstrap 的应用程序中遇到问题,除非您指定路径,否则它现在无法检测到模块
例如:
import { BsModalService, BsModalRef } from 'ngx-bootstrap';
Run Code Online (Sandbox Code Playgroud)
产生“找不到模块‘ngx-bootstrap’ ”。
删除参考并检查快速修复只是将参考替换为:
import { BsModalService, BsModalRef} from 'ngx-bootstrap/modal/public_api';
Run Code Online (Sandbox Code Playgroud)
显然这并不理想,因为它们应该可以在不指定文件夹的情况下通过 ngx-bootstrap 获得,而且我将不得不通过几十个组件并更改这些不必要的引用。以前有人遇到过这个问题吗?
我已经试过了:
npm installnpm update 如果最近提交有更新npm install再次执行npm install ngx-bootstrap --savenpm cache cleannpm install,并且发生了同样的事情昨天这工作正常。我不确定我错过了什么。
更多信息:
Angular CLI: 9.0.2
Node: 12.16.1
OS: win32 x64
Angular: 9.0.1
Run Code Online (Sandbox Code Playgroud)
包.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"
},
Run Code Online (Sandbox Code Playgroud)
如果有人有任何想法,请告诉我
谢谢!
Abo*_*zlR 56
根据ngx-bootstrap 文档,angular9 不支持这种导入。如果您想使用BsModalService,ButtonsModule等等,您必须按如下方式导入它们:
// RECOMMENDED
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
Run Code Online (Sandbox Code Playgroud)
代替 :
// NOT RECOMMENDED
import { BsModalService, BsModalRef , ButtonsModule } from 'ngx-bootstrap';
Run Code Online (Sandbox Code Playgroud)
fro*_*747 13
根据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(){}
Run Code Online (Sandbox Code Playgroud)
这是理想的解决方案,因为它是由 repo 维护者记录的解决方案。
小智 10
我今天遇到了同样的问题,试图从 Angular 9.0.2更新到 Angular 9.1.0。
我想这是因为你的package.json 中有:"ngx-bootstrap": "^5.3.2",所以 npm 正在使用 ngx-bootrap 标签上可用的最新版本:5.6.0。(至少这是我今天的版本)
我已经解决了替换我的代码中的导入,从'ngx-bootstrap'到'ngx-bootstrap/someBootstrapComponent' 的问题。
例如,我之前的导入是:
import { BsModalRef, BsModalService } from 'ngx-bootstrap';
Run Code Online (Sandbox Code Playgroud)
我的新导入看起来像:
import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
Run Code Online (Sandbox Code Playgroud)
我知道这不是一个理想的解决方案,但同时至少您可以正确编译您的应用程序。
我希望它有帮助。
最好的问候,耶稣。
所以看起来它可能是 ngx-bootstrap 更高版本的问题。在我的 package.json 中,我替换"ngx-bootstrap": "^5.3.2"为"ngx-bootstrap": "5.3.2",runnpm install并且它的构建没有任何问题。
| 归档时间: |
|
| 查看次数: |
28498 次 |
| 最近记录: |