假设我有一个简单的记录器:
void main() {
var logger = new MyLogger();
logger.log("hello Dart");
}
我希望这段代码在开发模式(虚拟机检查模式)下运行,但我不希望它出现在我的生产代码中。我希望它能被 dart2js 编译器“摇晃”掉。有一些标准的方法吗?
您可以将代码嵌入到assert
。断言在生产代码中被忽略,并且我确信在以下情况下不会构建为 JSpub build
运行于release
mode.
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
比你不必每次都明确地做。
你也可以看看这个问题如何实现类似预编译指令的功能
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)