微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

绝对路径在 Vite 项目 React TS 中不起作用

如何解决绝对路径在 Vite 项目 React TS 中不起作用

我正在努力获得在 Vite react-ts 项目中工作的绝对路径

这是我创建项目的方式

npm init @vitejs/app
npx: installed 6 in 1.883s
√ Project name: ... test-vite
√ Select a framework: » react
√ Select a variant: » react-ts

然后我将 baseUrl 添加tsconfig.json 基于TS official doc

{
  "compilerOptions": {
    "baseUrl": "./src",...

接着添加一个简单的组件(T:\test-vite\src\components\Test.tsx)

import React from "react";

const Test = () => <h1>This is a Test.</h1>;

export default Test;

最后,我在 App.tsx
中导入了 Test 组件 但它不会让我使用绝对路径

import Test from "components/Test";

我收到此错误

enter image description here

而如果我使用相对路径,该应用程序可以在 devbuild 模式下运行而不会出现任何错误

import Test from "./components/Test";

如何在项目中使用绝对路径

解决方法

这里有两个问题:

  • 告诉打字稿如何解析导入路径
  • 告诉 vite 如何构建导入路径

你只告诉打字稿如何解决,但vite不知道如何构建。所以参考官方文档resolve.alias,也许这就是你想要的:

// vite.config.ts
{
  resolve: {
    alias: [
      { find: '@',replacement: path.resolve(__dirname,'src') },],},// ...
}

您可以像这样导入路径(或 ./src 下的任何模块):

import Test from "@/components/Test";
import bar from "@/foo/bar"

此外,您可以直接使用vite插件vite-tsconfig-paths,无需手动配置resolve.alias

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。