Tout d'abord, laissez-moi vous dire en préambule que vous ne devez pas utiliser le symbole dièse avant un import, une bibliothèque ou autre chose. Il s'agit d'une ancienne syntaxe qui est en train d'être dépréciée. Nous ne voulons donc plus utiliser #import('...')
La syntaxe correcte est :
import 'some_file.dart';
Cela dit, il y a deux choses différentes que nous pouvons faire pour accéder à différents fichiers sources de dart dans notre fichier actuel. La première consiste à import
le dossier. Nous l'utilisons, comme dans votre cas, lorsque vous voulez amener une bibliothèque différente dans le fichier actuel (ou plus exactement la bibliothèque actuelle).
Habituellement, si vos fichiers sont dans le même répertoire, ou dans un sous-répertoire du répertoire actuel, nous les importons comme ceci :
import 'lib/library.dart';
Cependant, si vous utilisez la présentation du paquet pub, vous pouvez également utiliser des raccourcis spéciaux pour importer des fichiers (notamment à partir d'autres paquets que vous avez importés). Je vous conseille vivement de lire le documents sur le site du pub car la plupart des applications et des bibliothèques sont conçues dans cet esprit. Il contient également des suggestions sur les meilleures conventions de nommage, telles que l'utilisation de minuscules pour les noms de fichiers et de tirets bas pour les espaces, ainsi que sur la disposition des répertoires.
L'autre chose importante à savoir pour amener un fichier Dart dans un autre fichier, c'est que nous pouvons utiliser la fonction part
y part of
des directives. Cela s'appelait autrefois #source
mais a été modifié (avec la suppression du signe dièse) pour réduire la confusion. Le site part
est utilisée lorsque nous voulons écrire une seule bibliothèque qui s'étend sur plusieurs fichiers. Disons par exemple que vous avez un fichier Bibliothèque impressionnante qui commence à devenir un peu gros pour un seul fichier. Nous allons créer le fichier principal de la bibliothèque (à ne pas confondre avec la méthode principale). Ce fichier aura généralement le même nom que la bibliothèque elle-même.
// awesome_library.dart
library awesome_library;
import 'dart:math';
import '...';
// this injects all the content of secret_file.dart
// into this file right here almost as if it was
// here in the first place.
part 'src/secret_file.dart';
// The rest of our file here
// ...
La directive part prend tout ce qui se trouve dans src/secret_file.dart et l'insère dans cette partie du fichier. Cela nous permet de diviser notre énorme Bibliothèque impressionnante en plusieurs fichiers plus petits qui sont plus faciles à maintenir. Bien que cela ne soit pas spécifiquement requis, il est utile d'utiliser la fonction part of
dans notre secret_file.dart pour aider l'éditeur à savoir qu'il fait "partie" de la bibliothèque.
// secret_file.dart
part of awesome_library;
// ... Rest of our secret_file code below.
Notez que lors de l'utilisation d'un fichier partie comme celui-ci, la ou les parties (c'est-à-dire tout ce qui n'est pas le fichier principal de la bibliothèque) ne peuvent pas importer ou utiliser les déclarations de la bibliothèque elles-mêmes. Elles importent tout ce qui est importé dans le fichier principal, mais elles ne peuvent pas ajouter d'importations supplémentaires.
Pour plus d'informations sur la bibliothèque, voir ce lien.