为客户端和服务器使用相同的代码

Using the same code for both client and server

是什么使得客户端代码可以在 dart 中共享一些服务器端代码?我知道有些软件包可以做到这一点,但是是什么让它发生呢?总的来说,我在这个主题上没有发现太多东西,我想为未来的项目尽量减少我的代码。如果有人能向我解释,我将不胜感激。提前谢谢你:)

查看 Wilt 包中的一个示例,了解如何执行此操作,基本上环境中立代码被实例化为客户端(使用 dart:html)或服务器端(由包的用户使用 dart:io) 客户端。 此方法适用于包装 HTTP 接口的实用程序包,就像 Wilt 包装 CouchDb HTTP 协议的方式。

目前,如果您不导入 dart:htmldart:io,也不导入任何导入这些传递函数之一的库,则代码是平台无关的。 导入 dart:html 将代码绑定到浏览器,导入 dart:io 到独立 VM(还有不断发展的 Fletch 和 Flutter 平台)。

正在进行的工作是使导入可配置,以便导入导入不同的库,具体取决于代码的执行位置。这将使在此类平台之间共享库变得更加容易。