3

我无法在项目中使用我自己的 ionic 2 项目之外的打字稿文件。我有一个我想使用的身份验证模块,但它无法正常工作。我不确定这是否是打字稿设置或离子的问题。

app.module.ts

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 {}

tsconfig.json

{
  "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 {
}

我收到以下错误:

[14:34:24] 捆绑失败:在 ..../web/src/shared/services/auth/auth.module.ts 中出现意外字符“@”(5:0)

所以看起来好像它正在寻找包,但在 NgModule 声明中窒息。如果我删除对 的引用auth.module,它会起作用。我已将 auth 模块所需的所有包添加到我的 ionic 项目的 package.json 文件中,因此引用不应该成为问题。

让我知道是否需要更多相关信息来调试它。

4

2 回答 2

2

我正在制作我的第一个 ionic2 应用程序并且遇到了同样的问题。我发现当我将我的提供程序(标记为@injectable)导入 app.module.ts 时,它们被导入为“../authservice.ts”等而不是“../authservice”。检查是否是这种情况并在 ionic 2.1.0 上删除 .ts .. im

于 2016-10-28T16:22:32.460 回答
0

@lincoln 对@jayraparla 答案的评论挽救了我的一天...

我已经在我的 Ionic2 RC1 项目上执行了这个......

$ grep -r \\.ts src/

...我在我的 IDE 自动导入生成的AppModule中发现了类似的东西

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

使用“.ts”,

$ ionic serve

执行没有错误,但在删除“.ts”之后,并按照此处所述在我的代码中进行其他更改,我也可以再次执行

$ ionic build android

我希望这可以帮助某人。

于 2016-11-06T11:53:47.463 回答