有没有办法阻止从dart中的flutter框架导入文件?

Nia*_*san 4 dart flutter

在一个 flutter 项目中,我遵循 n 层架构。在某个层中,我不想允许从 flutter 框架导入文件。有没有办法防止从 flutter 或任何其他层导入文件

我不想允许写作

import 'package:flutter/material.dart';

在我的图层datadomain

Abd*_*rim 5

我知道这有点旧,但我还没有看到任何答案,所以我想与您分享我在该主题上发现的内容。有几种方法可以在 Flutter 项目中强制执行导入(我在这里详细记录了它们):

  1. 使用 private 和 public :这强制类型对于文件(或库)来说是私有的,我们只能将我们希望其他人依赖的类型保留为公共类型。
  2. 使用包和 dart 分析器:该技术利用 flutter 项目中使用 dart 包,将一组类型和类封装在一起,并仅导出我们想要导出的内容。然后,我们可以使用analysis_options.yaml启用 linter 规则,当我们不尊重包导入并尝试使用相对路径直接导入内容时,可以触发这些规则。
  3. 使用import_lintdart_code_metricsdart_arch_test等外部包