在前端代码库中共享 main.ts 文件以服务于 Web 和移动客户端
Share main.ts file in a front-end code base to serve web and mobile clients
我正在尝试为前端基于 angular2 的应用程序设计一个合适的文件夹和代码结构,该应用程序将包含 Android/iOS 视图的 nativescript 部分,以及常规的 DOM 内容对于 Web 浏览器频道。
从 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
知道去哪里,而另一方面 tns run android
也知道如何 运行 移动应用程序?
看来这种方法很绕。我认为它可以使用 environment.ts
和 --environment
命令行选项,但是我发现(并且更喜欢)一个可以在内部处理所有这些的插件:
https://github.com/wwwalkerrun/nativescript-ngx-magic
缺点是它将nativescript插入到ng2-cli项目中。我想如果你想做相反的事情,你必须 fiddle 稍微。
我正在尝试为前端基于 angular2 的应用程序设计一个合适的文件夹和代码结构,该应用程序将包含 Android/iOS 视图的 nativescript 部分,以及常规的 DOM 内容对于 Web 浏览器频道。
从 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
知道去哪里,而另一方面 tns run android
也知道如何 运行 移动应用程序?
看来这种方法很绕。我认为它可以使用 environment.ts
和 --environment
命令行选项,但是我发现(并且更喜欢)一个可以在内部处理所有这些的插件:
https://github.com/wwwalkerrun/nativescript-ngx-magic
缺点是它将nativescript插入到ng2-cli项目中。我想如果你想做相反的事情,你必须 fiddle 稍微。