跳到主要內容

shared_deferred_prefix

延遲匯入的字首不能用於其他匯入指令。

描述

#

當延遲匯入中的字首也被用作其他匯入(無論是否延遲)的字首時,分析器會產生此診斷。延遲匯入中的字首不能與其他匯入共享,因為該字首用於載入匯入的庫。

示例

#

以下程式碼會產生此診斷,因為字首 x 被用作延遲匯入的字首,同時也被用於另一個匯入

dart
import 'dart:math' deferred as x;
import 'dart:convert' as x;

var y = x.json.encode(x.min(0, 1));

常見修復方法

#

如果可以為延遲匯入使用不同的名稱,請這樣做

dart
import 'dart:math' deferred as math;
import 'dart:convert' as x;

var y = x.json.encode(math.min(0, 1));

如果可以為其他匯入使用不同的名稱,請這樣做

dart
import 'dart:math' deferred as x;
import 'dart:convert' as convert;

var y = convert.json.encode(x.min(0, 1));