将TNS模块导入与angular Web应用程序相同的打字稿文件中

时间:2019-05-06 04:15:47

标签: nativescript angular2-nativescript

Nativescript Angular以其代码共享属性而闻名。我试图通过仅使用1个打字稿文件而不​​是分成.ts.tns.ts文件来简化设计。

我试图在import { Page } from "tns-core-modules/ui/page";.ts。在Android上运行时,代码可以完美运行,但是如果我ng serve用于Web应用程序,则代码为Module not found: Error: Can't resolve 'tns-core-modules/ui/page'

之所以要导入页面模块,是因为设置了操作栏属性

constructor(private page: Page) { 

  if (isAndroid) {
    console.log("This is Android");
    this.page.actionBarHidden = true;
  }
}

我希望将tns-core-modules/ui/page和其他一些tns-core-modules导入与angular web应用程序相同的文件中。有可能这样做吗?还是必须拆分为.ts.tns.ts文件?

1 个答案:

答案 0 :(得分:0)

您必须使用平台特定的ts文件,一个用于Web,一个用于tns,Page在浏览器(ng serve)中运行时将无效。

如果您希望重用大多数代码,请尝试编写通用/基本ts组件,从通用/基本ts组件扩展平台特定的ts文件,仅在特定于tns的ts文件中注入Page。 / p>