Nativescript-angular compile error Cannot call a class constructor without |new|

前提是你 提交于 2020-07-10 10:24:22

问题


Nativescript-angular project builds succesfully but On tns run ios or tns run android throws error .Unable to compile and Upgraded angular to 10. I have updated to latest zone.js and added ngcc.congif.js file too.I have updated nativescripy using tns upgrade and removed platforms and added platform.It throws different error for ios and android.

Package.json

{
    "name": "sample-angular",
    "version": "0.0.0",
    "scripts": {
        "android": "tns run android",
        "ios": "tns run ios",
        "mobile": "tns run",
        "preview": "tns preview",
        "ng": "ng",
        "start": "ng serve",
        "build": "ng build",
        "post-build": "node ./build/post-build.js",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e",
        "ngcc": "ngcc --properties es2015 module main --first-only",
        "postinstall": "npm run ngcc"
    },
    "private": true,
    "dependencies": {
        "@angular/animations": "^10.0.0",
        "@angular/cdk": "^10.0.0",
        "@angular/common": "^10.0.0",
        "@angular/compiler": "^10.0.0",
        "@angular/compiler-cli": "^10.0.0",
        "@angular/core": "^10.0.0",
        "@angular/fire": "^5.2.1",
        "@angular/flex-layout": "^9.0.0-beta.31",
        "@angular/forms": "^10.0.0",
        "@angular/localize": "^10.0.0",
        "@angular/material": "^10.0.0",
        "@angular/platform-browser": "^10.0.0",
        "@angular/platform-browser-dynamic": "^10.0.0",
        "@angular/router": "^10.0.0",
        "@danielmoncada/angular-datetime-picker": "^9.4.2",
        "@nativescript/angular": "^9.0.0",
        "@nativescript/core": "~6.5.0",
        "@nativescript/schematics": "^1.0.0",
        "@nativescript/theme": "~2.2.1",
        "@ngdesk/data-api": "file:ngdesk-swagger/data-api/dist/ngdesk-data-api-1.0.0.tgz",
        "@ngdesk/escalation-api": "file:ngdesk-swagger/escalation-api/dist/ngdesk-escalation-api-1.0.0.tgz",
        "@ngdesk/payment-api": "file:ngdesk-swagger/payment-api/dist/ngdesk-payment-api-1.0.0.tgz",
        "@ngdesk/sam-api": "file:ngdesk-swagger/sam-api/dist/ngdesk-sam-api-1.0.0.tgz",
        "@ngdesk/sidebar-api": "file:ngdesk-swagger/sidebar-api/dist/ngdesk-sidebar-api-1.0.0.tgz",
        "@ngx-translate/core": "^11.0.1",
        "@ngx-translate/http-loader": "^4.0.0",
        "@nstudio/nativescript-checkbox": "^1.0.0",
        "@stomp/ng2-stompjs": "^7.2.0",
        "@swimlane/ngx-charts": "^12.1.0",
        "@types/googlemaps": "^3.38.1",
        "acorn": "^6.1.1",
        "angular-gridster2": "^8.2.0",
        "angular2-uuid": "^1.1.1",
        "chart.js": "^2.9.3",
        "core-js": "^2.6.8",
        "fast-text-encoding": "^1.0.0",
        "firebase": "^7.0.0",
        "font-awesome": "^4.7.0",
        "i": "^0.3.6",
        "jwt-decode": "^2.2.0",
        "linkifyjs": "^2.1.8",
        "material-design-icons": "^3.0.1",
        "material-icons": "^0.3.1",
        "moment": "^2.24.0",
        "moment-timezone": "^0.5.25",
        "nativescript-angular": "^8.21.0",
        "nativescript-easy-notification-banner": "^1.1.0",
        "nativescript-feedback": "^1.3.12",
        "nativescript-fontawesome": "^1.0.0",
        "nativescript-ng2-fonticon": "^1.3.4",
        "nativescript-ngx-fonticon": "^6.0.3",
        "nativescript-plugin-firebase": "^10.5.2",
        "nativescript-ui-listview": "^8.2.0",
        "nativescript-websockets": "^1.5.5",
        "ng2-charts": "^2.3.0",
        "ng2-translate": "^5.0.0",
        "ngx-build-plus": "^8.0.3",
        "ngx-cookie-service": "^3.0.3",
        "ngx-logger": "^3.3.13",
        "ngx-mat-select-search": "^2.1.1",
        "ngx-select-ex": "^3.7.7",
        "ngx-tinymce": "^7.0.0",
        "npm": "^6.12.1",
        "p-try": "^2.2.0",
        "reflect-metadata": "~0.1.12",
        "rxjs": "^6.5.5",
        "terser-webpack-plugin": "^1.3.0",
        "tinymce": "^5.0.8",
        "tns-core-modules": "^6.5.8",
        "tslib": "^1.10.0",
        "webpack": "^4.42.1",
        "xlsx": "^0.15.2",
        "zone.js": "^0.10.3"
    },
    "devDependencies": {
        "@angular-devkit/build-angular": "~0.1000.0",
        "@angular/cli": "^10.0.1",
        "@angular/compiler-cli": "~8.2.0",
        "@angular/language-service": "^10.0.0",
        "@nativescript/schematics": "~1.0.0",
        "@nativescript/tslint-rules": "~0.0.5",
        "@ngtools/webpack": "~9.1.0",
        "@types/jasmine": "~3.3.13",
        "@types/jasminewd2": "~2.0.3",
        "@types/node": "^12.12.48",
        "@types/stripe-v3": "^3.1.19",
        "@types/webpack-env": "^1.13.9",
        "codelyzer": "^5.1.2",
        "jasmine-core": "~3.4.0",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~4.1.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~2.0.5",
        "karma-jasmine": "~2.0.1",
        "karma-jasmine-html-reporter": "^1.4.2",
        "nativescript-dev-webpack": "^1.5.1",
        "ng-mocks": "^9.0.0",
        "node-sass": "^4.12.0",
        "protractor": "~5.4.2",
        "rxjs-tslint-rules": "^4.33.3",
        "tns-platform-declarations": "^6.5.1",
        "ts-node": "~8.2.0",
        "tslint": "~6.1.0",
        "typescript": "~3.9.5",
        "uglifyjs-webpack-plugin": "^2.1.3",
        "webpack-bundle-analyzer": "^3.8.0"
    },
    "nativescript": {
        "id": "com.ngdesk.sample",
        "tns-ios": {
            "version": "6.5.1"
        },
        "tns-android": {
            "version": "6.5.2"
        }
    }
}

tsconfig.json

{
    "compileOnSave": false,
    "compilerOptions": {
        "baseUrl": "./",
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "module": "es2020",
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "importHelpers": true,
        "target": "es2018",
        "strict": false,
        "skipLibCheck": true,
        "typeRoots": ["node_modules/@types"],
        "lib": ["es2018", "dom"],
        "paths": {
            "core-js/es6/reflect": [
                "node_modules/core-js/proposals/reflect-metadata"
            ],
            "core-js/es6/*": ["node_modules/core-js/es"],
            "core-js/es7/*": ["node_modules/core-js/es"],
            "@src/*": [
                "src/*.android.ts",
                "src/*.ios.ts",
                "src/*.tns.ts",
                "src/*.web.ts",
                "src/*"
            ]
        }
    },
    "angularCompilerOptions": {
        "enableIvy": true
    }
}

Error on running tns run ios --bundle

Native stack trace:
1   0x10162802e NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool)
2   0x101679f94 -[TNSRuntime executeModule:referredBy:]
3   0x100c77023 main
4   0x7fff5227ec25 start
5   0x1
JavaScript stack trace:
PlatformRef(file: node_modules/@angular/core/fesm2015/core.js:27640:0)
at NativeScriptPlatformRef(file: node_modules/@nativescript/angular/platform-common.js:65:0)
at platformNativeScriptDynamic(file: node_modules/@nativescript/angular/platform.js:40:0)
at file:///app/bundle.js:13390:82
at ./main.tns.ts(file:///app/bundle.js:13395:34)
at __webpack_require__(file: src/webpack/bootstrap:816:0)
at checkDeferredModules(file: src/webpack/bootstrap:43:0)
at webpackJsonpCallback(file: src/webpack/bootstrap:30:0)
at anonymous(file:///app/bundle.js:2:61)
at evaluate([native code])
at moduleEvaluation([native code])
at [native code]
at asyncFunctionResume([native code])
at [native code]
at promiseReactionJob([native code])
JavaScript error:
file: node_modules/@angular/core/fesm2015/core.js:27640:0: JS ERROR TypeError: Cannot call a class constructor without |new|
(CoreFoundation) *** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: TypeError: Cannot call a class constructor without |new|
at
PlatformRef(file: node_modules/@angular/core/fesm2015/core.js:27640:0)
at NativeScriptPlatformRef(file: node_modules/@nativescript/angular/platform-common.js:65:0)
at platformNativeScriptDynamic(file: node_modules/@nativescript/angular/platform.js:40:0)
at file:///app/bundle.js:13390:82
at ./main.tns.ts(file:///app/bundle.js:13395:34)
at __webpack_require__(file: src/webpack/bootstrap:816:0)
at checkDeferredModules(file: src/webpack/bootstrap:43:0)
at webpackJsonpCallback(file: src/webpack/bootstrap:30:0)
at anonymous(file:///app/bundle.js:2:61)
at evaluate([native code])
at moduleEvaluation([native code])
at [native code]
at asyncFunctionResume([native code])
at [native code]
at promiseReactionJob([native code])
', reason: '(null)'
*** First throw call stack:
(
0   CoreFoundation                      0x00007fff23c7127e __exceptionPreprocess + 350
1   libobjc.A.dylib                     0x00007fff513fbb20 objc_exception_throw + 48
2   NativeScrip<…>
NativeScript caught signal 6.
Native Stack:
1   0x101678be1 sig_handler(int)
2   0x7fff5245a5fd _sigtramp
3   0x1
4   0x7fff5234ba5c abort
5   0x7fff502497f8 __cxa_bad_cast
6   0x7fff502499c7 demangling_unexpected_handler()
7   0x7fff513fbd7c _objc_terminate()
8   0x7fff50256e97 std::__terminate(void (*)())
9   0x7fff502568fe __cxa_get_exception_ptr
10  0x7fff502568c5 __cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*)
11  0x7fff513fbc44 _objc_exception_destructor(void*)
12  0x10162856f NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool)
13  0x101679f94 -[TNSRuntime executeModule:referredBy:]
14  0x100c77023 main
15  0x7fff5227ec25 start
16  0x1

Error on tns run android --bundle

    Error executing Metadata Generator: java.nio.IntBuffer.clear()Ljava/nio/IntBuffer;
Command ./gradlew failed with exit code 1

回答1:


Unfortunately I don't have the answer to this. I'm sticking to Angular 9 until the nativescript team doesn't officially released an upgrade of nativescript supporting Angular 10.

What I can say to you is: try to disable Ivy compiler and see if it's at least building and running the app that way.



来源:https://stackoverflow.com/questions/62795320/nativescript-angular-compile-error-cannot-call-a-class-constructor-without-new

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!