Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在前端代码库中共享main.ts文件以服务于web和移动客户端_Angular_Typescript_Nativescript_Angular Cli - Fatal编程技术网

Angular 在前端代码库中共享main.ts文件以服务于web和移动客户端

Angular 在前端代码库中共享main.ts文件以服务于web和移动客户端,angular,typescript,nativescript,angular-cli,Angular,Typescript,Nativescript,Angular Cli,我正在尝试为基于angular2的前端应用程序设计一个合适的文件夹和代码结构,该应用程序将包含用于Android/iOS视图的nativescript部分,以及用于Web浏览器频道的常规DOM内容 从NativeScript样板文件开始,我最终得到一个main.ts文件,该文件如下所示: import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core"; import { platformNativeScriptDynamic } from "

我正在尝试为基于angular2的前端应用程序设计一个合适的文件夹和代码结构,该应用程序将包含用于Android/iOS视图的nativescript部分,以及用于Web浏览器频道的常规DOM内容

从NativeScript样板文件开始,我最终得到一个
main.ts
文件,该文件如下所示:

import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";

import { AppComponent } from "./app.component";

@NgModule({
  declarations: [AppComponent],
  bootstrap: [AppComponent],
  imports: [NativeScriptModule],
  schemas: [NO_ERRORS_SCHEMA]
})
export class AppModule {}

platformNativeScriptDynamic().bootstrapModule(AppModule);

你看,
platformNativeScriptDynamic
直接使这个文件非常、非常有见解,而不是常规的
platformBrowserDynamic
。由于我只想为所有频道使用一个根文件夹(这样我就可以共享模型和服务),我如何设计
main.ts
文件(或我需要的任何其他文件),以便一方面,
ng serve
知道去哪里,另一方面,运行android的tns也知道如何运行移动应用程序?

这种方法似乎很复杂。我认为它可以使用
environment.ts
--environment
命令行选项工作,但是我发现(并且更喜欢)一个插件可以在内部处理所有这些:


缺点是它将nativescript插入ng2 cli项目。我想,如果你想做相反的事情,你就得稍微摆弄一下。

不同的平台应该有不同的主文件,我想就这么简单。