gpt4 book ai didi

dart - 如何排除调试代码

转载 作者:IT王子 更新时间:2023-10-29 06:39:05 26 4
gpt4 key购买 nike

假设我有一个简单的记录器:

void main() {
var logger = new MyLogger();
logger.log("hello Dart");
}

我希望此代码在开发模式(VM 检查模式)下运行,但我不希望它出现在我的生产代码中。我希望它被 dart2js 编译器“摇摇欲坠”。有一些标准的方法吗?

最佳答案

您可以将代码嵌入到 assert 中。断言在生产代码中被忽略,当 pub buildrelease 模式下运行时,我确定没有构建到 JS。

class X {
X() {
print('x created');
}

void log(String m) {
print(m);
}
}

bool log(String m) {
new X()..log(m);
return true;
}

void main() {
assert(() {
new X()..log('in Assert');
return true;
});

assert(() => log('in Assert')); // use a wrapper function
}

当您创建一个返回 true 的包装器方法时,您不必每次都显式地执行它。

你也可以看看这个问题How to achieve precompiler directive like functionality

关于dart - 如何排除调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24208213/

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