Я работаю над расширением Visual Studio Code, где использую не относительный импорт в машинописном тексте, например:
import ModuleA from 'modules/ModuleA';
Где фактическая папка для ModuleA
- это src/modules/ModuleA
, а tsconfig.json
выглядит следующим образом, где я указываю src
как baseUrl
:
{
"compilerOptions": {
"baseUrl": "./src",
"module": "commonjs",
"target": "es6",
"outDir": "out",
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"lib": [
"es6"
],
"sourceMap": true,
"strictNullChecks": true,
"experimentalDecorators": true,
"moduleResolution": "node"
},
"exclude": [
"node_modules",
".vscode-test"
]
}
Все компилируется и строится нормально, однако, когда я пытаюсь запустить расширение для тестирования, я получаю сообщение об ошибке: Activating extension failed: Cannot find module 'modules/ModuleA'
. Мой .vscode/launch.json
файл, который я использую для запуска расширения, выглядит так:
// A launch configuration that compiles the extension and then opens it inside a new window
{
"version": "0.1.0",
"configurations": [
{
"name": "Launch Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceRoot}" ],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/out"],
"preLaunchTask": "build",
"internalConsoleOptions" : "openOnSessionStart"
}
]
}
Как заставить работать не относительные пути для разработки расширений vscode?
baseUrl
для этого. Попробуйте сослаться на него напрямую, используя относительный путь:./module/ModuleA
(при условии, что ваш код находится подsrc
- person unional   schedule 04.04.2017