Typescript 获得';错误:找不到模块';在Express中导入路线时

Typescript 获得';错误:找不到模块';在Express中导入路线时,typescript,express,Typescript,Express,我有一个ExpressJS应用程序配置为使用Typescript。我正在尝试添加一些路线。当我启动应用程序时,我不断收到“错误:找不到模块”routes/api“ 这是我的服务器。ts: import express from "express"; import * as api from "routes/api"; const app = express(), port = 3000; // api = require("routes

我有一个ExpressJS应用程序配置为使用Typescript。我正在尝试添加一些路线。当我启动应用程序时,我不断收到“错误:找不到模块”routes/api“

这是我的服务器。ts:

import express from "express";
import * as api from "routes/api";

const app = express(),
  port = 3000;
  // api = require("routes/api");

app.use("/", api.router);

app.listen(port);
以下是我的路线/api.ts(更新):

导出默认路由器

我的eslint配置在My package.json中。我尝试将
import/extensions:0
添加到其他StackOverflow文章中提到的规则部分,并在extenses部分下添加
plugin:import/typescript
。什么都没起作用

以下是my package.json中的eslint配置(已更新):

"eslintConfig": {
    "settings": {
      "import/resolver": {
        "node": {
          "extensions": [
            ".js",
            ".ts"
          ]
        }
      }
    },
    "parser": "@typescript-eslint/parser",
    "extends": [
      "airbnb-base",
      "prettier",
      "eslint:recommended",
      "plugin:@typescript-eslint/recommended"
    ],
    "plugins": [
      "prettier",
      "@typescript-eslint"
    ],
    "env": {
      "es6": true,
      "browser": true
    },
    "rules": {
      "brace-style": [
        "error",
        "stroustrup"
      ],
      "comma-dangle": [
        "error",
        "never"
      ],
      "no-unused-vars": [
        "warn"
      ],
      "no-var": [
        "error"
      ],
      "one-var": [
        "error",
        "always"
      ],
      "prettier/prettier": [
        "error"
      ],
      "import/extensions": [
        "error",
        "ignorePackages",
        {
          "js": "never",
          "jsx": "never",
          "ts": "never",
          "tsx": "never"
        }
      ]
    }
  },
  "prettier": {
    "trailingComma": "none",
    "arrowParens": "always",
    "jsxBracketSameLine": false
  }
我还尝试更改路由器的导出方式。我尝试了
module.exports=router
export default router
api=require(“routes/api”
),但都没有成功。我不明白为什么在文件路径明显正确的情况下会出现错误。我还是比较新的表达方式。希望您能提供帮助

更新:

以下是我的文件夹结构:

-package.json
-node_modules
-server.ts
-apollo.ts
-routes
 -- api.ts

正如@Priyanka所建议的,更改api.ts的导入方式确实有帮助。当我执行
npm run lint
时,我仍然无法解析模块的路径。为了完全解决此错误,我必须将api.ts中的导出语法更改为
导出默认路由器
。我还必须更新package.json.I fo中的eslint config部分允许在此

中的建议您好,您可以显示您的文件夹结构吗?我添加了我的文件夹结构。请尝试从“/routes/api”以api的形式导入*;
-package.json
-node_modules
-server.ts
-apollo.ts
-routes
 -- api.ts