【问题标题】:Add absolute paths to app created by "Create React App"将绝对路径添加到由“Create React App”创建的应用程序
【发布时间】:2019-08-08 16:47:54
【问题描述】:

我通过Create React App 创建了一个应用程序,更具体地说,我也在使用打字稿。

我不知道如何设置访问我的组件、页面等的绝对路径。

在不同的情况下,我会使用以下内容更新我的 tscongig:

{
    "compilerOptions": {
      "baseUrl": ".",
      "paths": {
        "@components/*": ["src/components/*"]
      }
    }
  }

但我不知道如何实现这一点,因为我正在使用react-scripts 有什么想法吗?

【问题讨论】:

    标签: reactjs typescript create-react-app


    【解决方案1】:

    创建一个 tsconfig.json 文件并添加以下代码。

    {
      "compilerOptions": {
        "baseUrl": "src"
      },
      "include": [
        "src"
      ]
    }
    

    然后你可以将你的组件导入为

    import Header from 'components/Header';
    

    【讨论】:

      【解决方案2】:

      如果在您的解决方案中创建一个 jsconfig.json 文件,您应该能够使用相同的方法,该文件支持与 tsconfig 相同的 baseUrl 和 rootPath 属性。

      替代方案是在您的解决方案中添加一个 .env 文件,其中包含以下行:

      NODE_PATH=src/
      

      此外,除了 env 文件,将其添加到您的 jsconfig.json

      {
        "rootDir": "src",
        "compilerOptions": {
          "baseUrl": "src",
          "paths": {
            "*": ["*"]
          }
        }
      }
      

      这应该可以解决编译器能够找到您的绝对导入以及 linter 正确处理它们的问题。

      【讨论】:

      • 我已经为编译设置了倍数文件,.env 和 .env.production 但我正在寻找能够调用 @components/* 而不是 /src/common/components/* 的东西
      • 我更新了评论。它应该允许你导入像import { Something } from 'components' 这样的东西。如果没有从 node_modules 解析路径,它将尝试从 src 文件夹中解析它。 +
      猜你喜欢
      • 2020-12-25
      • 2018-08-04
      • 2021-05-25
      • 2019-06-28
      • 2018-07-14
      • 1970-01-01
      • 2017-12-05
      • 2020-03-12
      • 2019-11-29
      相关资源
      最近更新 更多