Vscode无法使用Sailsjs Services和打字稿

时间:2018-01-22 21:05:19

标签: javascript typescript service visual-studio-code sails.js

我在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'。

顺便提一下,如果我解除应用程序正在按预期工作

1 个答案:

答案 0 :(得分:0)

这是因为TypeScript不知道您有TestLog - 它是在JavaScript文件中定义的,并且未导入。

你的" MVP"修复此问题是告诉编译器不要担心它:

declare var TestLog: any;

然后您可以refine this definition使其更有用......

declare var TestLog: { send(): void };