【问题标题】:Vscode not working with Sailsjs Services and typescriptVscode 无法与 Sailsjs 服务和打字稿一起使用
【发布时间】:2018-01-22 21:05:19
【问题描述】:

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

顺便说一句,如果我解除应用程序按预期工作

【问题讨论】:

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


    【解决方案1】:

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

    您对此的“MVP”修复是告诉编译器不要担心它:

    declare var TestLog: any;
    

    然后你可以refine this definition 让它更有用...

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

    【讨论】:

    • > 这是因为 TypeScript 不知道你有一个 TestLog - 它是在 JavaScript 文件中定义的并且没有被导入。有什么方法可以使服务定义全局可用?用纯 JavaScript 编写 TestLog 不是强制性的,因为我不想使用类似 import { send } from '../../services/TestLog';
    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2020-10-12
    • 2020-05-28
    • 2019-12-13
    • 2017-07-31
    • 2017-08-15
    相关资源
    最近更新 更多