我想跳过pub build上的一些特定代码。
示例:
Log.print('something $ {StackTrace.current}');
我希望上面的代码不会在生产中传播给JS。
答案 0 :(得分:3)
断言仅在检查模式下执行,默认情况下pub build
不会在生产模式中包含断言:
assert(() {
Log.print('something ${StackTrace.current}');
return true;
})
DartPad example不打印它,因为它以生产模式构建。
您也可以将“环境”(不与OS环境变量混淆)传递给pub build
并在代码中读取
transformers: # or dev_transformers
- $dart2js:
environment: { PROD: "true" }
const prod = String.fromEnvironment('PROD')
print('PROD: $prod');
// prints 'PROD: null' in Dartium
// prints 'PROD: true' in Chrome