Contents

Web deployment

部署Dart Web应用程序与部署任何其他Web应用程序相似:您首先需要将该应用程序编译为JavaScript. 该页面介绍了如何编译您的应用程序,并提供了一些更小,更快的提示,并为您提供了服务该应用程序的资源.

Building your app

使用webdev工具构建您的应用程序,将其编译为JavaScript并生成部署所需的所有资产. 使用dart2js进行构建时,由于dart2js编译器对树震动的支持,您会获得一个相当小的JavaScript文件.

通过一些额外的工作,您可以使可部署的应用程序更小,更快,更可靠 .

Compile using webdev

使用webdev build命令创建应用程序的可部署版本. 将webdev与dart2js和--output build选项一起使用时,将发生以下情况:

  • 可部署文件显示在应用程序的build/web目录下.
  • dart2js将您的应用编译为JavaScript,并将结果保存在build/web/main.dart.js文件中.

有关更多信息,请参见webdev文档 .

Use dart2js flags to produce better JavaScript

Google的应用程序经常使用以下dart2js选项

  • --fast-startup
  • --minify
  • --trust-primitives
  • --trust-type-annotations

使用这些选项进行部署之前,请测试您的应用程序!

  • 无论是否使用--fast-startup都可以构建您的应用程序,因此您可以判断是否值得增加JavaScript大小.
  • 如果您的数据并非始终有效,则--trust-primitives选项可能会产生意外结果(即使在键入正确的代码中也是如此).

有关更多信息,请参见dart2js文档 .

您可以在build config文件中指定dart2js选项,如build_web_compilers自述文件所述.

Make your app smaller, faster, and more reliable

以下步骤是可选步骤,但可以帮助您提高应用程序的可靠性和响应速度.

Use the pwa package to make your app work offline

pwa软件包简化了使应用程序在连接受限或无连接的情况下工作的任务. 有关使用此程序包的信息,请参阅使Dart Web应用程序能够脱机:3行代码.

Use deferred loading to reduce your app’s initial size

您可以使用Dart的支持进行延迟加载,以减小应用程序的初始下载大小. 有关详细信息,请参见语言之旅的延迟加载和dart-lang / angular页面命令式组件加载.

Follow best practices for web apps

The usual advice for web apps applies to Dart web apps. Web应用程序的常规建议适用于Dart Web应用程序. Here are a few resources: 这里有一些资源:

Remove unneeded build files

Web编译器可以生成在开发过程中有用的文件,例如Dart-to-JavaScript映射文件,但是在生产中是不必要的.

要删除这些文件,您可以运行以下命令:

# From the root directory of your app:
find build -type f -name "*.js.map" -exec rm {} +

Serving your app

您可以像投放其他任何Web应用一样来投放Dart Web应用. 本节指出了服务Dart Web应用程序的提示,以及Dart特定的资源,以帮助您使用GitHub Pages或Firebase服务您的应用程序.

GitHub Pages

If your app doesn’t use routing or require server-side support, you can serve the app using GitHub Pages. The peanut package is an easy way to automatically produce a gh-pages branch for any Dart web app.

startup_namer示例使用GitHub Pages托管. 它的文件位于filiph / startup_namer存储库gh-pages分支中,并使用花生构建.

Firebase

有关使用Firebase来提供聊天应用程序的演练,请参阅使用Dart,Angular 2和Firebase 3构建实时聊天Web应用程序.

其他资源:

by  ICOPY.SITE