Typescript 获得';错误:找不到模块';在Express中导入路线时
我有一个ExpressJS应用程序配置为使用Typescript。我正在尝试添加一些路线。当我启动应用程序时,我不断收到“错误:找不到模块”routes/api“ 这是我的服务器。ts: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
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