cordova - Ionic 2 - 'import' og 'export' kan bare forekomme med 'sourceType: module'


Jobber på et nytt prosjekt med en helt fersk installasjon av ionic2, etter å ha installert angular2-jwt får jeg denne feilen:

ParseError: 'import' and 'export' may appear only with 'sourceType: module'

D:\desenv\arquivos\workspace_inbit\medipop-parent\medipop-app\node_modules\angular2-jwt\angular2-jwt.ts:1
import {Injectable, Injector} from 'angular2/core';

Å gjenskape:

ionic start testapp --v2 --ts 
cd testapp
npm i --save angular2-jwt

og app-siden:

@App({
    templateUrl: 'build/app.html',
    providers: [
        provide(AuthHttp, {
            useFactory: (http) => {
                return new AuthHttp(new AuthConfig({
                    headerPrefix: '',
                    noJwtError: true
                }), http);
            },
            deps: [Http]
        })
    ]
})
class MyApp {}

Har noen en anelse om hvordan man kan løse dette lille puslespillet?

Svar #1

Prøv å legge til denne linjen i din ts-konfigurasjon:

"parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module"
},

Hvis dette ikke fungerer, prøv med denne konfigurasjonen som fungerer på min datamaskin (tsconfig.json):

{
    "compilerOptions": {
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "ES5",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "sourceMap": true,
        "declaration": true,
        "moduleResolution":"node"
    },
    "files": [
        "angular2-jwt.ts",
        "typings/browser.d.ts",
        "custom.d.ts"
    ]
}

Svar #2

'import' og 'export' kan bare vises med 'sourceType: module'

Du må spesifisere en module i din tsconfig eller på kommandolinjen. f.eks.

'module': 'commonjs'

Mer

https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

Relaterte artikler