tsc jette `TS2307: Impossible de trouver le module` pour un fichier local
J'ai un exemple simple projet à l'aide de la Machine: https://github.com/unindented/ts-webpack-example
De course tsc -p .
(avec tsc
version 1.8.10) jette les suivantes:
app/index.ts(1,21): error TS2307: Cannot find module 'components/counter'.
components/button/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/button/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/counter/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(4,27): error TS2307: Cannot find module 'shared/backbone_with_subviews'.
components/counter/index.ts(5,20): error TS2307: Cannot find module 'components/button'.
Il se plaint de toutes les importations de fichiers locaux, comme suit:
import Counter from 'components/counter';
Si je l'ai changer pour un chemin relatif, il fonctionne, mais je ne veux pas, il me rend la vie plus difficile lors du déplacement de fichiers:
import Counter from '../components/counter';
La vscode
codebase ne pas utiliser des chemins relatifs, mais tout fonctionne très bien pour eux, donc je dois être en manque de quelque chose dans mon projet: https://github.com/Microsoft/vscode/blob/0e81224179fbb8f6fda18ca7362d8500a263cfef/src/vs/languages/typescript/common/typescript.ts#L7-L14
Vous pouvez consulter mon dépôt GitHub, mais dans le cas où il aide voici le tsconfig.json
fichier que j'utilise:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist"
},
"exclude": [
"dist",
"node_modules"
]
}
La chose drôle est, la construction du projet par le biais de webpack
à l'aide de ts-loader
fonctionne très bien, donc je suppose que c'est juste un problème de configuration...
OriginalL'auteur Daniel Perez Alvarez | 2016-05-31
Vous devez vous connecter pour publier un commentaire.
@vladima a répondu à cette question sur GitHub:
error TS5023: Unknown compiler option 'moduleResolution'.
OriginalL'auteur Daniel Perez Alvarez
Dépend vraiment de votre chargeur de module. Si vous utilisez
systemjs
avecbaseurl
, il pourrait fonctionner. VSCode utilise son propre chargeur de module (basé sur une ancienne version de requirejs).Recommandation
Utiliser des chemins relatifs, car c'est ce que
commonjs
prend en charge. Si vous déplacez vos fichiers, vous obtiendrez un tapuscrit erreur de compilation (une bonne chose), de sorte vous permettra de mieux qu'une grande majorité de pure js projets en cours (mnp).vscode
base de code dans le Code de Visual Studio lui-même, je n'ai pas de lignes ondulées, de sorte que le Code de Visual Studio en quelque sorte de comprendre les choses commeimport {notImplemented} from 'vs/base/common/errors';
, indépendamment de l'endroit où le fichier qui contient le code de vie. Comment font-ils?S'avère réglage
module
àamd
a cet effet...OriginalL'auteur basarat