Le titre est réécrit comme suit : L'importation d'un fichier index.ts sans extension de fichier dans Vue 3 et Vite produit un lien d'erreur lorsqu'un fichier index.vue est rencontré dans le même dossier.
P粉194919082
2023-08-14 12:39:38
<p>Comment importer un fichier index.ts en utilisant vue 3 et vite sans spécifier l'extension du fichier lorsqu'il y a un autre fichier index.vue dans le même dossier ? </p>
<p>J'essaie d'importer le composant : </p>
<pre class="brush:php;toolbar:false;">importer { Component } depuis '@/app/some_component'</pre>
<pre class="brush:php;toolbar:false;">src
|
└───
application
│
└───some_component
│ index.ts
│ index.vue
│ ...</pré>
<p>Mais Webstorm fait référence au fichier index.vue par défaut. </p>
<p>Alors, comment faire pour que Webstorm importe le fichier <strong>index.ts</strong> </p>
<p><strong>P.S.</strong> Au fait, tout fonctionne bien lorsque je crée l'application, cela semble être un problème de liaison avec Webstorm.</p>
<p>这是<strong>vite.config.ts</strong>的内容</p>
<pre class="brush:php;toolbar:false;">importer { definitionConfig } depuis 'vite'
importer le chemin depuis 'chemin'
importer la vue depuis '@vitejs/plugin-vue'
importer tsconfigPaths depuis 'vite-tsconfig-paths'
exporter la définition par défaut ({
plugins : [vue(), tsconfigPaths()],
serveur : {
hôte : vrai,
port : 5000,
},
Aperçu: {
port : 8000
},
résoudre: {
alias:
{
'@' : chemin.resolve(__dirname, "./src"),
},
},
css : {
Options du préprocesseur : {
scss : {
Données supplémentaires : `
@import "@/app/styles/vars.scss";
@import "@/app/styles/mixins.scss";
`
}
}
},
})</pré>
<p>这是<strong>tsconfig.json</strong>的内容</p>
<pre class="brush:php;toolbar:false;">{
"Options du compilateur": {
"cible": "ES2020",
"useDefineForClassFields": vrai,
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"skipLibCheck": vrai,
/* Mode regroupeur */
"moduleResolution": "groupeur",
"allowImportingTsExtensions": vrai,
"resolveJsonModule": vrai,
"isolatedModules": vrai,
"noEmit": vrai,
"jsx": "préserver",
/* Peluche */
"strict" : vrai,
"noUnusedLocals": vrai,
"noUnusedParameters": vrai,
"noFallthroughCasesInSwitch": vrai,
"chemins": {
"@/*": [
"./src/*"
]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx"],
"références": [{ "chemin": "./tsconfig.node.json" }]
}</pré>
<p><br /></p>
Grâce à Vite, vous pouvez importer des fichiers sans spécifier d'extension. Cependant, comme vous l'avez mentionné, si deux fichiers portent le même nom dans le même dossier, vous risquez de rencontrer une confusion lors de l'importation de l'un ou l'autre fichier. Une bonne idée est d'utiliser des noms différents pour les fichiers et de les importer avec les noms correspondants.
Cependant, s'il existe des exigences spécifiques nécessitant l'utilisation des mêmes noms de fichiers Vue et TS, une solution consiste à utiliser la fonctionnalité d'alias de chemin de Vite. Ce que vous devez faire, c'est-
Définissez les alias de chemin pour ces fichiers dans votre
vite.config.ts
fichier-Carte dans votre section
tsconfig.json
中,修改compilerOptions
avec un chemin contenant l'alias -Vous pouvez désormais facilement importer ces fichiers comme celui-ci -