似乎是一个简单的问题,但我一直无法找到简单的答案。本质上,我想根据某些存储的状态选择应用程序中的哪个页面启动。我在 AppShell 构造函数中添加了 GoToAsync 调用,但这不起作用 - 这是有道理的,因为 AppShell 尚未完全构建。
我找到了这个答案,但感觉它有点回避这个问题:
哪里是注入一些代码的最佳位置,这些代码将在启动时运行一次并可以成功地将 .NET Maui 应用程序导航到所选页面?
因此,假设您有一个基于 React 的移动 Web 应用程序,它利用服务器端呈现的初始视图(出于速度 + SEO 原因)。没有“index.html”文件——索引文件在服务器端动态构建并在初始响应中返回。
现在假设您想向该应用程序添加 PWA 功能。你连接了一个 service worker 来缓存资产等。
PWA 的核心租户之一是它们提供离线体验。假设我们只想在 Service Worker 检测到用户离线时显示一个刷新页面,“您离线,单击此处刷新”。
谷歌提供的在线示例谈论使用 App Shell——一个静态 HTML 文件,它可以在初次访问时由服务工作者缓存,它将成为你的反应应用程序所在的“外壳”。此外壳与显示“离线”视图有关。
这如何与服务器端渲染一起工作,其中没有“shell”html 文件,并且每个路由都可能返回不同的 index.html 文件?
任何有关此功能的演示或示例?
reactjs service-worker server-side-rendering progressive-web-apps app-shell
我有一个标准的 angular-cli 生成的项目。为其创建应用程序外壳并将其与 ng-universal 的服务器渲染技术相结合是否有意义?
如果是这样,那么最好的方法是什么?
我刚刚开始尝试在 Visual Studio 中使用 MAUI 来开发多平台应用程序。我已经成功地使用了 shell 导航,并且使用弹出按钮效果很好。
我想做的是点击一个按钮,导航到另一个页面并传递一个变量。
什么起作用(有点)是这样的:
await Navigation.PushModalAsync(new ResultListView(ordnum));
Run Code Online (Sandbox Code Playgroud)
这确实导航到页面并根据需要传递 var ordnum,但是它脱离了 shell 导航(我松开了弹出窗口等)。
我不知道如何在 Shell 中执行此操作
await Shell.Current.GoToAsync
Run Code Online (Sandbox Code Playgroud)
似乎是我想要的,但是当我使用路由时,我无法以相同的方式指定变量?
这似乎是一个基本的问题,我确信以前曾被问过,但老实说我找不到它。我花了整个早上寻找答案!我发现的有关通过 XAML 传递变量的答案非常令人困惑。
谢谢
安德鲁
我使用 Angular CLI 9 构建了一个应用程序。我package.json使用以下命令修补了该文件:
{
"scripts": {
"build:prod": "ng build --prod --subresource-integrity",
"prebuild:prod": "TS_NODE_COMPILER_OPTIONS='{\"module\": \"commonjs\"}' ts-node ./sitemap_generator.ts"
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我调用 时npm run build:prod,我的 2 个命令将被执行,并且编译器生成的输出文件包含 SRI。
现在,我添加了 appShell :
npm run ng generate appShell -- --client-project my-project
要使用appShell运行构建,我必须使用以下命令:
npm run ng run my-project:app-shell:production
主要问题
但是这个命令调用文件my-project:build:production的配置angular.json,并且不接受参数--subresource-integrity:/
如何修补它以使用SRI 进行 appShell 生产构建?
勇敢者的第二个问题
此 appShell 构建server/在 中创建一个文件夹dist/。它只包含一个main.js文件。我想它在 Node 内部使用来构建 appShell ;有人可以证实吗?那么,我也可以使用 Unversal …
我的应用程序的设计要求我在弹出标题中有一个按钮,这是一个单独的视图,可以导航到页面
但与弹出项目本身不同的是,当我单击按钮时,页面会在保持打开状态的弹出标题下加载
有没有办法让按钮准确地模拟在弹出内容本身中导航时发生的情况?
我尝试导航到的页面已在 AppShell 中注册为路线
FlyoutHeader 中引用的视图中的代码通过单击按钮调用它,如下所示
await Shell.Current.GoToAsync("thepage");
Run Code Online (Sandbox Code Playgroud)
如上所述,弹出菜单此时打开,以便访问按钮,但单击时它会加载所需的页面,但我希望它自动关闭菜单
请问有办法做到这一点吗?