Vscode无法使用Sailsjs Services和打字稿

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vscode无法使用Sailsjs Services和打字稿相关的知识,希望对你有一定的参考价值。

我在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 };

以上是关于Vscode无法使用Sailsjs Services和打字稿的主要内容,如果未能解决你的问题,请参考以下文章

SailsJS V1 - 蓝图查询无法正常工作

使用sailsjs 进行REST 验证的挂钩

VSCode:tslint-language-service 插件将 lint 提示显示为错误而不是警告

SailsJS / Waterline ORM:仅使用一个查询更新多个条目

在 Sailsjs 中使用本地护照时无响应

我如何在sailsjs上使用jwt检查用户是不是是管理员