Tapuscrit : exiger la déclaration ne fait pas partie d'une instruction import
Tapuscrit version 2.2.2
J'ai écrit cela dans mon UserRoutzr.ts
const users = <IUser[]> require(path.join(process.cwd() + "/data"));
TSLint est la collecte de l'avertissement suivant:
require statement not part of an import statement
si je l'ai changé pour :
import users = <IUser[]> require(path.join(process.cwd() + "/data"));
Puis il soulève une erreur :
TS1003 Identifier expected
Comment dois-je réécrire ce besoin ?
merci pour le feedback
Avez-vous besoin pour construire le chemin d'accès comme ça? vous ne pouvez pas simplement utiliser "./les données"? En supposant que le processus est le processus en cours d'exécution.
J'ai essayé , mais ./les données ne seront pas définis dans le répertoire de construction... ?
J'ai essayé , mais ./les données ne seront pas définis dans le répertoire de construction... ?
OriginalL'auteur | 2017-03-30
Vous devez vous connecter pour publier un commentaire.
Tapuscrit modules sont une mise en œuvre de l'ES6 modules. ES6 modules sont statiques. Votre problème vient de la trajectoire dynamique:
path.join(process.cwd() + "/data")
. Le compilateur ne peut pas déterminer le module c'est au moment de la compilation.Vous devez utiliser un chemin d'accès statique pour le module. Au moment de la compilation, Tapuscrit résout. Et il affecte le bon type exporté (
IUser[]
) àusers
.Avis: Si votre module
data
contient seulement des données, vous pourriez envisager de le changer pour un fichier JSON, ce qui pourrait être chargé (Node.js) ou groupés (Webpack).OriginalL'auteur Paleo
peut-être vous avez besoin module dynamique de chargement, et le code comme ceci:
OriginalL'auteur holi-java