飞镖检查是否正在建设

dart check if is building

我想跳过 pub 构建中的一些特定代码。

示例:

Log.print('something ${StackTrace.current}');

我希望上面的代码没有在生产中转译为 JS。

断言仅在检查模式下执行,默认情况下不会被 pub build 包含在生产模式中:

assert(() {
  Log.print('something ${StackTrace.current}');
  return true;
})

DartPad example 不打印它,因为它是在生产模式下构建的。

您还可以将 "environment"(不要与 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

另见