我在sailsjs应用程序中遇到过打字稿问题。
我使用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'。
顺便提一下,如果我解除应用程序正在按预期工作
答案 0 :(得分:0)
这是因为TypeScript不知道您有TestLog
- 它是在JavaScript文件中定义的,并且未导入。
你的" MVP"修复此问题是告诉编译器不要担心它:
declare var TestLog: any;
然后您可以refine this definition使其更有用......
declare var TestLog: { send(): void };