2016-10-20 5 views
3

プロジェクトのイオン2プロジェクトの外にある自分のタイスクリプトファイルの使用に問題があります。私は使用したい認証モジュールを持っていて、うまく動作しません。私はそれがtypescriptの設定やイオンの問題であるかどうかは分かりません。Ionic 2/Typescriptビルドに失敗しました:予期しない文字 '@'

app.module.ts

{ 
    "compilerOptions": { 
    "allowSyntheticDefaultImports": true, 
    "declaration": true, 
    "target": "es5", 
    "module": "es2015", 
    "moduleResolution": "node", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["dom", "es2015"] 
    }, 
    "exclude": ["node_modules"], 
    "compileOnSave": false, 
    "atom": { "rewriteTsconfig": false } 
} 

auth.module.ts

import {NgModule} from "@angular/core"; 
import {HttpModule} from "@angular/http"; 
import {IdentityService} from "./identity.service"; 
import {IdentityEventService} from "./identity-event.service"; 
@NgModule({ 
    imports: [HttpModule], 
    providers: [ 
     IdentityService, 
     IdentityEventService 
    ] 
}) 
export class AuthModule { 
} 

tsconfig.json

import { NgModule } from '@angular/core'; 
import {IonicApp, IonicModule} from 'ionic-angular'; 
import { MyApp } from './app.component'; 
import { LoginComponent } from './login/login.component'; 
import {AuthModule} from "../../../web/src/shared/services/auth/auth.module"; 

@NgModule({ 
    declarations: [ 
     MyApp, 
     LoginComponent 
    ], 
    imports: [ 
     IonicModule.forRoot(MyApp), 
     AuthModule 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
     MyApp, 
     LoginComponent 
    ], 
    providers: [ 
    ] 
}) 
export class AppModule {} 

私はFを取得しますエラー:

[14:34:24]バンドルに失敗しました..../web/src/shared/services/auth/auth.module.tsの予期しない文字 '@'(5:0)

したがって、パッケージを検索しているように見えますが、NgModule宣言では窒息します。 auth.moduleへの参照を削除すると動作します。 authモジュールが私のionicプロジェクトのpackage.jsonファイルに必要とするすべてのパッケージを追加しましたので、参照は問題ではありません。

これをデバッグするのに必要な関連情報がある場合はお知らせください。

+1

私は同じ問題があります。 "ionic serve"が動作し、 "ionic build"がこの予期しない文字例外で失敗する – Chris

+0

どちらも失敗する:( – sgcharlie

答えて

2

私の最初のionic2アプリを作って、同じ問題がありました。私は私のプロバイダ(@injectableとマークされた)をapp.module.tsにインポートすると、 '../authservice'の代わりに '../authservice.ts'などとしてインポートされたことがわかりました。ケースのthatsかどうかをチェックし、@jayraparla答えにイオン2.1.0

+0

これは私の問題を解決したもので、ファイルを誤ってインポートした場所を見つけるために実行しなければならなかった: $ grep -r \\。ts src / – Lincoln

0

@lincolnコメントに.TS ..イムを削除するには、

私はIonic2 RC1プロジェクトでこれを実行している...私の一日保存しています。.. 。

$ grep -r \\.ts src/ 
...と私は ".TS" と私のIDEの自動輸入

import { mySubcomponent } from "./_path_/mySubcomponent.ts" 

によって生成された私のAppModuleにこのような何かを発見しました私はこれが誰かを助けることを願って、再びあまりに

$ ionic build android 

を実行することができ、

$ ionic serve 

はエラーなしで実行されますが、削除した後、「.TS」、およびhereを説明するように私のコード内の他の変更を行います。

関連する問題