NativeScript / NativeScript/plugins

RadListView JIT compilation failed for component class RadListViewComponent

未关闭
#373 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
TypeScript
星标
206
派生
123
平均合并
2 天 1 小时
30 天内合并 PR
1

描述

I have installed different releases or nativescrip-ui-listview in my application.

If I use the latest one, I'm getting the following error


  JIT compilation failed for component class RadListViewComponent {
  constructor(_elementRef, _iterableDiffers, _renderer, _ngZone) {
  this....<omitted>...
  }
  ***** Fatal JavaScript exception - application has been terminated. *****
  NativeScript encountered a fatal error: Uncaught Error: The component 'RadListViewComponent' needs to be compiled using the JIT compiler, but '@angular/compiler' is not available.
  The component is part of a library that has been partially compiled.
  However, the Angular Linker has not processed the library such that JIT compilation is used as fallback.
  Ideally, the library is processed using the Angular Linker to become fully AOT compiled.
  Alternatively, the JIT compiler should be loaded by bootstrapping using '@angular/platform-browser-dynamic' or '@angular/platform-server',
  or manually provide the compiler with 'import "@angular/compiler";' before bootstrapping.
  at
  getCompilerFacade(file: node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:4075:0)
  at \M-b\M^@\M-&\M-B\M-5\M-b\M^@\M-&\M-B\M-5ngDeclareFactory(file: node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:33191:0)
  at ./node_modules/nativescript-ui-listview/angular/fesm2015/nativescript-ui-listview-angular.mjs(file: node_modules/nativescript-ui-listview/angular/fesm2015/nativescript-ui-listview-angular.mjs:465:49)
  at __webpack_require__(file: src/webpack/bootstrap:24:0)
  at fn(file: src/webpack/runtime/hot module replacement:62:0)

I have included NativeScriptUIListViewModule in my app.module or even in my mycomponent.module, but the result is the same.

This is my package.json

{
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "repository": "<fill-your-repository-here>",
  "dependencies": {
    "@angular/animations": "^12.2.5",
    "@angular/common": "^12.2.5",
    "@angular/compiler": "^12.2.5",
    "@angular/core": "^12.2.5",
    "@angular/forms": "^12.2.5",
    "@angular/platform-browser": "^12.2.5",
    "@angular/platform-browser-dynamic": "^12.2.5",
    "@angular/router": "^12.2.5",
    "@danvick/ngx-translate-nativescript-loader": "3.0.0",
    "@nativescript-community/ble": "^3.0.29",
    "@nativescript-community/ui-mapbox": "^6.2.9",
    "@nativescript/angular": "^12.2.0",
    "@nativescript/appavailability": "^2.0.0",
    "@nativescript/core": "~8.3.5",
    "@nativescript/firebase": "^11.1.3",
    "@nativescript/geolocation": "^7.0.0",
    "@nativescript/iqkeyboardmanager": "^2.0.0",
    "@nativescript/theme": "~3.0.1",
    "@ngx-translate/core": "13.0.0",
    "@nstudio/nativescript-barcodescanner": "^5.0.1",
    "@nstudio/nativescript-carousel": "^8.0.3",
    "@nstudio/nativescript-pulltorefresh": "^3.0.2",
    "@triniwiz/nativescript-couchbase": "^1.3.1",
    "@turf/turf": "6.5.0",
    "jwt-decode": "3.1.2",
    "moment": "2.29.1",
    "nativescript-mediafilepicker": "^4.0.2",
    "nativescript-permissions": "^1.3.11",
    "nativescript-ui-calendar": "^7.0.4",
    "nativescript-ui-listview": "^14.2.4",
    "nativescript-websockets": "^1.5.6",
    "reflect-metadata": "~0.1.13",
    "rxjs": "~7.3.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^12.2.5",
    "@nativescript/android": "8.3.1",
    "@nativescript/ios": "8.3.3",
    "@nativescript/types": "~8.3.1",
    "@nativescript/webpack": "~5.0.0-beta.0",
    "@ngtools/webpack": "^12.2.5",
    "@types/geojson": "^7946.0.8",
    "codelyzer": "^6.0.2",
    "sass": "~1.39.0",
    "tslint": "^6.1.3",
    "typescript": "~4.3.5"
  },
  
}

If I use older releases, my list is shown but I cannot get any tap event from the elements in ng-template.

Any idea?

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 node_modules/nativescript-ui-listview/angular/fesm2015/nativescript-ui-listview-angular.mjs 中的堆栈跟踪条目开始,并将其与列出的 Angular、NativeScript 和 nativescript-ui-listview 版本进行比较。重现应用启动失败,然后验证组件能够在没有 JIT 错误的情况下加载,并且 ng-template 中的 tap 事件仍然正常工作。

由索引模型根据 Issue 内容生成。

评估

技术栈
angular, typescript
领域
mobile-dev
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。