我在sailsjs应用程序中遇到过typescript问题。
我正在使用typescript来编写我的控制器,我想在我的控制器中使用sailsjs服务但是我在VSCODE中遇到语法错误。
MyController.ts
import util = require('util');
import express = require('express');
declare var sails: any;
var count : number = 0;
export function stats(req:any, res:any, next: Function):any {
console.log('TsController.ts');
TestLog.send();
res.status(200).send({});
}
TestLog.js
module.exports = {
send: function(){
console.log("Service is Logging")
}
}
但VSCODE引发了错误
[ts]找不到名称'TestLog'。
顺便提一下,如果我解除应用程序正在按预期工作
这是因为TypeScript不知道您有TestLog
- 它是在JavaScript文件中定义的,不会导入。
您对此的“MVP”修复是告诉编译器不要担心它:
declare var TestLog: any;
然后你可以refine this definition使它更有用......
declare var TestLog: { send(): void };