NativeScript Angular应用中application.start()/run()调用位置及版本变更咨询
在NativeScript Angular中查找
application.start()/application.run()的调用位置 一、旧版本与新版本的启动逻辑差异
- NativeScript 4.0之前:
application.start()是显式写在main.ts中的核心启动代码,典型写法如下:import { application } from "@nativescript/core"; application.start({ moduleName: "app-root" }); - NativeScript 4.0及之后:官方正式废弃
application.start(),改用application.run(),但在Angular集成场景下,这个调用被封装到了框架的启动流程里,不再需要开发者手动显式编写。
二、为什么nativescript-template-ng-tutorial模板里找不到相关调用?
这个模板采用了现代NativeScript Angular的最佳实践,它通过platformNativeScriptDynamic来启动Angular应用,核心代码一般在main.ts中,示例如下:
import { platformNativeScriptDynamic } from "@nativescript/angular"; import { AppModule } from "./app/app.module"; platformNativeScriptDynamic().bootstrapModule(AppModule);
当你调用bootstrapModule(AppModule)时,@nativescript/angular框架底层已经自动帮你触发了application.run(),因此你在模板的文件里搜不到这个方法的直接调用。
三、手动调用application.run()的场景
如果有自定义启动需求(比如启动前做全局配置加载、权限校验等),你依然可以显式导入application模块来调用:
import { application } from "@nativescript/core"; import { platformNativeScriptDynamic } from "@nativescript/angular"; import { AppModule } from "./app/app.module"; // 自定义初始化逻辑 console.log("执行启动前准备工作..."); application.run({ moduleName: "app-root" });
内容的提问来源于stack exchange,提问作者joshualan
相关产品推荐
相关产品推荐

