温馨提示:本文翻译自stackoverflow.com,查看原文请点击:reactjs - typescript react
reactjs typescript

reactjs - 打字稿反应

发布于 2020-03-28 23:25:54

我一直在学习React中的打字稿,并且不断遇到这些奇怪的导入问题。这与我所有的组件导入有关。

这是一个简单的导入:

import MainNav from "../components/layout/mainNav/MainNavBar";

以及导入内容:

import React from "react";
import classNames from "classnames";

const MainNavBar:React.SFC = () => {
  const classes = classNames (
    "main-navbar",
    "bg-white"
  );
  return (
    <div className={classes}>
        <nav>
          <li>Item 1</li>
          <li>Item 2</li>
        </nav>
    </div>
  );
}

export default MainNavBar;

这是给我的错误图像。我不明白我在问什么。在打字稿之前,我从未遇到过这些问题。与配置文件有关系吗?

我的tsconfig:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react"
  },
  "include": [
    "src"
  ]
}

在此处输入图片说明

查看更多

查看更多

提问者
Robolisk
被浏览
18
Mat Sz 2020-01-31 17:40

这是因为macOS默认情况下在其文件系统中使用不区分大小写的文件名。这会混淆TypeScript。在文件名区分大小写的环境中,这将导致致命错误-无法找到该文件。

解决方案是只使用与路径相同的大小写:

import MainNav from "../components/layout/MainNav/MainNavBar";