我正在尝试拆分我的应用程序。 不幸的是,调用控制器不起作用。一旦注释掉控制器及其post方法,它便可以调用服务器。
route / image.ts
<bean class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" id="dataSource">
<property name="url" value="jdbc:postgresql://postgres:5432/" />
<property name="username" value="postgres" />
<property name="password" value="/vault/password" />
</bean>
controller / imageController.ts
const imageController = require('../controllers/imageController.ts')
module.exports = ({ router }) => {
router
.get('/image', ctx => {
ctx.body = 'Image'
})
.post('/image', imageController.newImage)
}
错误
import { BaseContext } from 'koa'
export default class imageController {
static newImage = (ctx: BaseContext) => {
// return OK status code
ctx.status = 200
ctx.body = 'Test'
}
}
答案 0 :(得分:1)
您的错误提示您正在尝试运行没有打字稿的打字稿文件。 import { x } from 'y';
行在您的node.js版本中无效,并且鉴于您要导入类型...打字稿将删除该行。
因此,请确保您运行tsc
,并且运行.js
文件,而不是.ts
文件。