我正在使用typescript在node js中开发一个应用程序,并在commonjs模式下使用gulp transpiler。

我写了一个homeController.ts为:

let homeController={
     getIndex:(req,res)=>{
        res.send('Hello world'); //Compiles the file named "index" in the views directory (`/views`) using the view engine (Jade).
    },
}
export default homeController;

我有一个单独的路由文件作为route.ts进行路由
import  home  =require('../controller/homeController');
import express = require('express');

let router = express.Router();

router.get('/',home.getIndex);

module.exports = router;

并将其导入服务器文件中
import  routes = require('./routes/route');

并将其路由为
app.use('/api', routes);

但是当gulp编译这些文件时,它给出了错误

node.js - 出现错误 '…'类型不存在属性 'typeof “…”'-LMLPHP

如果我有任何错误,请纠正我。

最佳答案

您的homeController.ts文件将导出形状为{ default: { getIndex: ... } }的对象。它没有顶级getIndex属性。

您可能要使用export = homeController而不是export default homeController。它们不是等效的。

关于node.js - 出现错误 '…'类型不存在属性 'typeof “…”',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34682541/

10-09 20:32