来自另一路径的模型类在NativeScript

时间:2019-07-04 13:04:43

标签: android angular nativescript nativescript-angular

我有一个运行良好的Web应用程序,然后将其与NativeScript一起迁移到了移动应用程序中。 我在 src/app/model 中有一个模型文件,在其中有一些这样导出的类模型:

export class User {

  username: string;
  password: string;

}

我正在尝试将该类模型导入服务类。我的服务类别路径为 src / app / auto-generated / service 。当我导入它时,该应用程序无法正常工作。但是,当我在 src / app / auto-generated 中创建相同的类模型并将其导入到我的服务类中时,它可以工作。为什么会继续前进?我该如何解决?

出现错误时文件的状态:

import { Injectable } from "@angular/core";
import { HttpClient, HttpHeaders } from "@angular/common/http";
import { User } from 'app/model/User';

@Injectable({
  providedIn: "root"
})
export class UserLoginService {
  user: User = new User();

  constructor() {}

  login(name: string, password: string, imTid: string): Observable<UiInfo> {
    console.log(name);
    return ;
  }

}

错误:

  

System.err:java.lang.RuntimeException:无法创建应用程序   com.tns.NativeScriptApplication:com.tns.NativeScriptException:   System.err:System.err:调用模块函数System.err时出错:   System.err:无法编译   /data/data/org.nativescript.ngsample/files/app/bundle.js System.err:   System.err:语法错误:意外的令牌! System.err:文件:   “ file:///data/data/org.nativescript.ngsample/files/app/bundle.js,   行:292,列:24 System.err:System.err:StackTrace:System.err:   框架:功能:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:System.err:语法错误:   意外的标记 ! System.err:文件:“,行:1,列:265   System.err:System.err:StackTrace:System.err:框架:   函数:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:System.err:语法错误:   意外的标记 ! System.err:文件:“,行:1,列:265   System.err:System.err:StackTrace:System.err:框架:   函数:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:在   android.app.ActivityThread.handleBindApplication(ActivityThread.java:5876)   System.err:位于   android.app.ActivityThread.access $ 1100(ActivityThread.java:199)   System.err:位于   android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1650)   System.err:位于   android.os.Handler.dispatchMessage(Handler.java:106)System.err:
  在android.os.Looper.loop(Looper.java:193)System.err:at   android.app.ActivityThread.main(ActivityThread.java:6669)System.err:   在java.lang.reflect.Method.invoke(本机方法)System.err:在   com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:493)   System.err:位于   com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)   System.err:由:com.tns.NativeScriptException:System.err:   System.err:调用模块函数System.err:System.err:错误   无法编译   /data/data/org.nativescript.ngsample/files/app/bundle.js System.err:   System.err:语法错误:意外的令牌! System.err:文件:   “ file:///data/data/org.nativescript.ngsample/files/app/bundle.js,   行:292,列:24 System.err:System.err:StackTrace:System.err:   框架:功能:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:System.err:语法错误:   意外的标记 ! System.err:文件:“,行:1,列:265   System.err:System.err:StackTrace:System.err:框架:   函数:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:System.err:语法错误:   意外的标记 ! System.err:文件:“,行:1,列:265   System.err:System.err:StackTrace:System.err:框架:   函数:'require',文件:'',行:1,列:266 System.err:
  框架:功能:'',   文件:“ file:///data/data/org.nativescript.ngsample/files/app/starter.js”,   行:3,列:1 System.err:框架:function:'require',file:'',   行:1,列:266 System.err:System.err:在   com.tns.Runtime.runModule(本机方法)System.err:在   com.tns.Runtime.runModule(Runtime.java:624)System.err:at   com.tns.Runtime.run(Runtime.java:616)System.err:at   com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:21)   System.err:位于   android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)   System.err:位于   android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)   System.err:... ...还有8个成功同步的应用程序   设备模拟器5554上的org.nativescript.ngsample。

tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "importHelpers": true,
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ],
    "module": "es2015"
  }
}

2 个答案:

答案 0 :(得分:0)

尝试添加此代码:-

  import { Injectable } from "@angular/core";
  import { HttpClient, HttpHeaders } from "@angular/common/http";
  import { User } from 'app/model/User';

  @Injectable({
   providedIn: "root"
  })
  export class UserLoginService {
  public user: User;

  constructor() {
    this.user = new User();
  }

   login(name: string, password: string, imTid: string): Observable<UiInfo> {
    console.log(name);
    return ;
   }
 }

答案 1 :(得分:0)

谢谢大家。解决方案只是将路径更改为:

import { User} from "../../../../model/User";