如何设置 PhpStorm / WebStorm 以使用 Vite 别名?

ent*_*tio 19 phpstorm webstorm vite

PhpStorm / WebStorm 尚不支持 Vite,因此给出以下 Vite 配置:

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, '/src'),
    },
  },
});
Run Code Online (Sandbox Code Playgroud)

它无法正确识别以下导入:

import { getAllItems } from '@/api'
Run Code Online (Sandbox Code Playgroud)

如何设置才能正常工作?

ent*_*tio 37

在项目的根目录中创建一个 JavaScript 文件(名称并不重要,我将使用phpstorm.config.js)并镜像您的别名配置,如下所示:

System.config({
  "paths": {
    "@/*": "./src/*",
  }
});
Run Code Online (Sandbox Code Playgroud)

Php/Webstorm 会自动拾取它。将其添加到.gitignore.


另一种选择是创建jsconfig.json以下模式:

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

在VSCode文档中阅读有关此解决方案的更多信息

  • 我不建议使用 VSCode:) WebStorm/PHpStorm 确实支持解析 `jsconfig.json` 中定义的别名,所以这只是定义别名的另一种方式。我们无法支持所有可能的方法来定义来自不同捆绑器、框架和插件的路径映射,因此将来我们可能会提供一些统一的方法来在 IDE 中处理它们。使用“jsconfig.json”是我们现在正在评估的选项之一 (5认同)
  • 给我们一种在 IDE 设置中定义自定义别名的方法怎么样? (2认同)