【发布时间】:2021-06-14 02:11:57
【问题描述】:
我遇到了一个奇怪的错误。我只是在创建一个新文件夹来分隔我的路线。
在里面我使用express.Router API 创建了路由,并导出了路由器本身。
下面是代码在post-routes.ts中的样子:
import express from 'express';
const router = express.Router();
router.get( '/', ( req, res ) =>
{
res.send( 'This is working' );
} );
export default router;
好的。我现在要做的就是将它导入我的index.ts 并为我的post-routes.ts 文件创建根路由。
如果您发现我的方法有问题,请告诉我。
index.ts文件:
import express from 'express';
import cors from 'cors';
import postRouter from './routes/post-routes';
const PORT = process.env.PORT || 5000;
app.use( '/posts', postRouter );
app.use( express.json( { limit: '30mb' } ) );
app.use( express.urlencoded( { limit: '30mb', extended: true } ) );
app.use( cors() );
app.listen( PORT, () => console.log( `listening at ${ PORT }` ) );
很好。现在为了提供尽可能多的信息,我将插入以下内容:
- 我的项目中的文件结构:
-
package.json文件配置:
如您所见,我使用"type": "module" 能够在我的节点应用程序中使用导入。至于打字稿,我没有编译错误,所以index.ts 看到post-routes.ts 文件,所以我希望index.js 也会看到post-routes.js 文件。但是服务器会抛出下面的错误。这怎么可能?
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'E:\Github\hospytal-fasion\server\dist\routes\post-routes' imported from E:\Github\hospytal-fasion\server\dist\index.js
【问题讨论】:
标签: javascript node.js express types