VSCode Intellisense不适用于webpack +别名

Che*_*hen 13 visual-studio-code vscode-settings

我有一个使用babel别名的项目:

resolve: {
  alias: {
      vue: 'vue/dist/vue.js',
      '@cmp': resolve('src/components'),
      '@service': resolve('src/services'),
      '@scss': resolve('src/assets/styles'),
  }
}
Run Code Online (Sandbox Code Playgroud)

和一个组件:

import someService from '@service/some'
Run Code Online (Sandbox Code Playgroud)

智能感知不起作用.有:

import someService from '../../../../service/some'
Run Code Online (Sandbox Code Playgroud)

确实如此.

有什么建议?

Mat*_*ner 16

尝试创建jsconfig.json并配置paths编译器选项

{
  "compilerOptions": {
    "baseUrl": ".",
    "module": "commonjs",
    "paths": {
      "@cmp/*": ["./src/components/*"]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关paths其他编译器选项的更多信息

  • 没有为我工作。我需要重新启动vscode吗? (3认同)

Ada*_*osz 8

这对我有用,正如这里所建议的(我想@/解决./src/):

{
  "compilerOptions": {
    "target": "es2017",
    "allowSyntheticDefaultImports": false,
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"],
    }
  },
  "exclude": ["node_modules", "dist"]
}
Run Code Online (Sandbox Code Playgroud)

最小版本,但我也会离开exclude

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"]
    }
  },
}
Run Code Online (Sandbox Code Playgroud)