【发布时间】:2021-05-25 00:16:28
【问题描述】:
我正在从控制器文件中导出一个函数:
import adminSaveSnippet from './admin/adminSaveSnippet';
exports.saveSnippet = adminSaveSnippet;
我正在将函数导入到我的路由文件中:
import * as express from 'express';
const adminRouter = express.Router();
import * as admin from '../controllers/adminControllers';
adminRouter.put('/save/snippet', admin['saveSnippet']);
export default adminRouter;
我可以通过admin['saveSnippet'] 访问admin 中的saveSnippet 函数,但是当我使用点符号admin.saveSnippet 时出现以下错误:
src/routes/admin.ts:5:40 - error TS2339: Property 'saveSnippet' does not exist on type 'typeof import(".../src/controllers/adminControllers")'.
我不太确定发生了什么。我没有使用任何irregular identifiers,并且尝试了几种不同的导出函数的方法(例如import { saveSnippet } from '../controllers/adminControllers'),但仍然出现相同的错误。
为了完整起见,这里是我的 adminSaveSnippet 文件:
export default function adminSaveSnippet (_req, res) {
console.log('here');
res.send('saved').status(200);
}
【问题讨论】:
-
你试过
module.exports.saveSnippet = adminSaveSnippet吗? -
这可能有助于理解stackoverflow.com/questions/7137397/…的区别@
-
module.exports.saveSnippet也不起作用
标签: node.js typescript node-modules