Ho un semplice progetto di esempio utilizzando dattiloscritto: https://github.com/unindented/ts-webpack-exampleTSC getta `TS2307: Impossibile trovare module` per un file locale
esecuzione tsc -p .
(con tsc
versione 1.8.10) genera la seguente:
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'.
si lamenta di tutte le importazioni di file locali, come le seguenti:
import Counter from 'components/counter';
Se cambio ad un percorso relativo funziona, ma non voglio a, in quanto rende la vita più difficile quando si spostano i file in giro:
import Counter from '../components/counter';
Il vscode
base di codice non fa uso di percorsi relativi, ma tutto funziona bene per loro, quindi mi deve mancare qualcosa nel mio progetto: https://github.com/Microsoft/vscode/blob/0e81224179fbb8f6fda18ca7362d8500a263cfef/src/vs/languages/typescript/common/typescript.ts#L7-L14
è possibile controllare il mio repo GitHub, ma nel caso in cui aiuta ecco il file tsconfig.json
sto usando:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist"
},
"exclude": [
"dist",
"node_modules"
]
}
la cosa divertente è, la costruzione del progetto attraverso webpack
utilizzando 012.396.714 699.342.990.804,78321 milioni funziona bene, in modo da sto indovinando che è solo un problema di configurazione ...
Caricamento del codebase 'vscode' in Visual Studio Codice stesso, non ottengo linee ondulate, in questo modo Visual Studio Code comprende in qualche modo cose come import/notImplemented da vs/base/common/errors, a prescindere da dove risiede il file che contiene quel codice. Come lo fanno? –
Risulta che l'impostazione 'module' su' amd' ha quell'effetto ... –