Comment faire référence à un autre fichier dans Dart?
Cela peut sembler une question stupide, mais honnêtement, je n'ai aucune idée, je sais que vous pouvez utiliser le library
, import
et même #import
, mais laquelle est la bonne?
J'ai deux fichiers, MainClass.dart
et Library.Dart
, et je tiens à ajouter une référence à Library.dart
dans MainClass.dart
. Comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
Tout d'abord laissez-moi juste de commencer en disant s'il vous plaît ne pas utiliser le symbole dièse avant l'importation ou à la bibliothèque ou n'importe quoi d'autre. C'est un vieux de la syntaxe qui est amorti. Donc, nous ne voulons plus utiliser
#import('...')
La syntaxe correcte est:Cela dit, il y a deux choses que nous pouvons faire avec l'accès à différentes dart fichiers source au sein de notre fichier en cours. La première est de
import
le fichier. Nous utilisons cet exemple dans votre cas lorsque vous souhaitez mettre un autre bibliothèque dans le fichier en cours (ou plus exactement de la bibliothèque).Habituellement si vos fichiers sont dans le même répertoire, ou un sous-répertoire de l'actuel nous permettrait de les importer comme ceci:
Toutefois, Si vous utilisez la pub package de configuration, vous pouvez également utiliser certains raccourcis références ainsi importer des fichiers (en particulier à partir d'autres paquets que vous avez importés). Je vous suggère fortement la lecture de la documents sur la pub du site, comme la plupart des applications et des bibliothèques sont conçues dans cet esprit. Il a également des suggestions sur les meilleures conventions de nommage comme des noms de fichiers dans tous les cas, et en utilisant le trait de soulignement pour les espaces, et les mises en page du répertoire.
L'autre chose importante à savoir au sujet de mettre un dart fichier dans un autre fichier, c'est que nous pouvons utiliser le
part
etpart of
directives. Cette habitude d'être appelé#source
, mais a été changé (avec la suppression de la dièse) pour l'aider dans une certaine confusion. Lepart
directive est utilisée lorsque l'on veut écrire une bibliothèque unique, qui s'étend sur plusieurs fichiers. Dire, par exemple, vous avez un Génial Bibliothèque, qui commence à être 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 main). Ce fichier sera généralement le même nom que la bibliothèque elle-même.Le cadre de la directive prend tout, de nos src/secret_file.dart et l'insère dans cette partie du fichier. Cela nous permet de partager notre énorme Génial Bibliothèque en plusieurs fichiers plus petits, qui sont plus faciles à entretenir. Bien que non spécifiquement requis, il est utile d'utiliser la
part of
directive dans notre secret_file.jeu de fléchettes à l'aide de l'éditeur de savoir que c'est "une partie" de la bibliothèque.Noter que lors de l'utilisation d'un fichier de pièce de ce genre, la partie(s) (c'est tout ce qui n'est pas le principal fichier de la bibliothèque) impossible de l'importer ou de l'utilisation de la bibliothèque déclarations elles-mêmes. Ils importent tout ce qui est importé dans le fichier principal, mais ils ne peuvent pas ajouter des importations.
Pour plus d'informations sur la bibliothèque, voir ce lien.
L'importation de votre propre créé des bibliothèques:
Vous allez importer les
filename.dart
et pas le nom de votre bibliothèque.Si le nom de votre bibliothèque:
myLib
et il est enregistré dans le fichier:someDartFile.dart
vous aurez àSi vous avez Windows une bibliothèque: K:\SomeDir\someFile.dart vous aurez besoin d'écrire:
exemple:
myLib dans LibraryFile.dart:
Voici un exemple complet.
Bien que je réponds très en retard, mais la réponse peut aider les nouveaux développeurs.
Toujours utiliser pubspec.fichier yaml dans votre dart paquet(application/bibliothèque).
une fois que vous exécutez pub commande get il va ajouter à votre bibliothèque locale dans la liste de dépendances dans .le fichier "packages".
Considérer que j'ai la suite de la structure de projet.
De se référer au contenu du message d'accueil.dart dans ma main.dart fichier je doit ajouter la bibliothèque comme ci-dessous
Une fois importé, nous pouvons utiliser le contenu du message d'accueil.dart de fichiers dans notre main.dart fichier.
Remarque: nous n'avons pas utilisé le chemin d'accès réel comme vous pouvez le voir 'lib' annuaire est manquant.