vscode 激活扩展失败:找不到具有非相对导入的模块

Posted

技术标签:

【中文标题】vscode 激活扩展失败:找不到具有非相对导入的模块【英文标题】:vscode activating extension failed: Cannot find module with non-relative import 【发布时间】:2017-08-29 01:32:37 【问题描述】:

我正在开发 Visual Studio Code 扩展,我在 typescript 中使用非相对导入,例如:

import ModuleA from 'modules/ModuleA';

ModuleA 的实际文件夹是src/modules/ModuleAtsconfig.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 【参考方案1】:

我也有类似经历,我重装了节点,版本一样,问题解决了。

我使用的是 Mac,所以:

sudo rm -rf /usr/local/lib/node_modules/npm
brew reinstall node

参考:Error: Cannot find module '../lib/utils/unsupported.js' while using Ionic

【讨论】:

我在 Windows 上使用nvm install lts 进行了测试,但我的错误仍然存​​在。能否补充一些重装过程的细节? @Pablion,以上是针对 linux 和 macos 的,也有一段时间了,您介意再解释一下您现在遇到的问题吗? 感谢您的回复。我遇到了同样的错误:Activating extension 'X' failed: Cannot find module 'non/relative/path' Require stack: ... 但是我的 tsconfig 和 launch.json 是一样的。据说tsconfig并没有改变捆绑过程here in the official repo的任何内容。

以上是关于vscode 激活扩展失败:找不到具有非相对导入的模块的主要内容,如果未能解决你的问题,请参考以下文章

在 VSCode 扩展中找不到命令

VSCode 加载插件失败找不到模块 'eslint-plugin-prettier'

无法导入numpy,DLL加载失败:找不到指定的模块

VSCode 在编译时显示 .vue 导入的“找不到模块”TS 错误

python在vscode写的相对路径正确但找不到文件

python在vscode写的相对路径正确但找不到文件