gpt4 book ai didi

dart - 在 dart2js 缩小和摇树期间保留方法

转载 作者:行者123 更新时间:2023-12-04 20:39:37 24 4
gpt4 key购买 nike

我有一些用 dart 编写的文件,我想将它们编译为 javascript 并包含在我的 Android 应用程序中运行的一些 html 文件中。

这些文件由一个 main 方法组成,然后有一个带有 3 个函数的 api 层,其他 javascript 代码将在运行时调用这些函数。非常重要的是,我尽可能少地包含 dart 的库(所以摇树是必须的),并且当摇树/缩小过程发生时,我需要确保 3 个 api 层函数不会被重命名/优化了,因为它认为他们没有被调用?

我如何告诉 dart2js 保留某些函数的签名,而不是因为它认为它们没有被使用而将它们修剪掉?

最佳答案

您可以使用 dart:js 图书馆context属性(property),JsObject它允许您将 dart 中的变量和方法公开给 JavaScript,并将由 dart2js 保留。在您的主要方法中,只需包含 context['jsMethodName'] = dartMethodName ,然后在您的 JavaScript 中调用它。下面是一个例子:

library.dart

import 'dart:js';

void main(){
print("main called!");
context['myMethod'] = myMethod;
}

void myMethod(){
print("My Method Called!");
}

index.html
<script src="library.dart.js"></script>
<script>
console.log(myMethod());
</script>

关于dart - 在 dart2js 缩小和摇树期间保留方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28786006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com