react:无法导入 .tsx 文件

IT技术 javascript reactjs typescript react-tsx
2021-05-19 16:09:07

在 React 中使用 TypeScript 的新手。当我从 .tsx 文件导入一个组件时,它默认假定它是一个 .js 文件。该错误表示该目录中没有 About.js 文件或 Contact.js 文件。此外,TS linter 不允许我将 .tsx 添加到文件路径的末尾。如何解决这个问题?我使用了'npx create-react-app project_name --typescript'。这是我的代码

import React from 'react'
import { BrowserRouter, Route } from 'react-router-dom'
import Home from './views/Home'
import About from './views/About'
import Contact from './views/Contact'
import Navbar from './components/Navbar'
import Footer from './components/Footer'

const App: React.FC<{}> = () => {
  return (
    <BrowserRouter>
      <Navbar title="Website" links={['About', 'Contact']} color="blue"/>

      <Route exact path="/" component={Home}/>
      <Route path="/home" component={Home}/>
      <Route path="/about" component={About}/>
      <Route path="/contact" component={Contact}/>

      <Footer/>
    </BrowserRouter>
  )
}

export default App
1个回答

您是否使用了创建react应用程序?如果您没有使用或使用并弹出它,您应该将此配置添加到您的 webpack 配置文件中:

{
  resolve: {
    extensions: [".js", ".json", ".ts", ".tsx"],
  },
}

如果您使用了 create react app 并且没有弹出它,您可以将这些规则添加到您的 typescript-eslint

module.exports = {
  settings: {
    'import/resolver': {
      'node': {
        'extensions': ['.js','.jsx','.ts','.tsx']
      }
    }
  }
};