【问题标题】:Using mysql types in typescript在打字稿中使用 mysql 类型
【发布时间】:2018-01-31 11:11:37
【问题描述】:

我有一个需要使用 mysqljs (https://www.npmjs.com/package/mysql) 的 nodejs typescript 项目,我已经导入了definitelyTyped 包 (https://www.npmjs.com/package/@types/mysql) 并将它们包含在我的 tsconfig 文件中

tsconfig.json

{ “编译器选项”:{ “noImplicitAny”:假, “模块”:“commonjs”, “noEmitOnError”:是的, “删除评论”:假, “源地图”:是的, “目标”:“es6” }, “排除”: [ “节点模块” ], “类型根”:[ "node_modules/@types", “脚本/打字/节点” ], “类型”:[ "mysql", “节点” ] }

我可以正确使用 mysql 模块功能,但我无法访问类型(IConnection、IQuery 等)。 我还可以从智能感知中看到参数和返回类型。

例子

import * as mysql from 'mysql'
...
getUser(username: string): User {
        mysql.createConnection({ host: "...", user: "...", password: "..." });
    }

但我想创建一个返回在 mysql 类型中定义的类型的方法(例如 IQuery)

类似

getUser(username:string): IQuery{
}

作为一个 c# 背景的打字稿初学者,我不明白这里发生了什么。

感谢您的帮助。

编辑: 我试过在他输入前加上前缀但没有成功,也试过通过这种格式导入import {IConnection} from 'mysql' 再次感谢。

【问题讨论】:

    标签: node.js typescript mysqljs


    【解决方案1】:

    似乎 ReSharper 是我的问题,但我仍然没有找到如何忽略错误或修复它们。 我重新安装了 Visual Studio 2017,它在没有 Resharper 的情况下工作,但是当我安装它时,我又开始遇到问题了。 谢谢您的帮助! 如果我能找到解决方案,我会对此进行编辑。

    【讨论】:

      【解决方案2】:

      你可以通过在接口前加上mysql来访问它:

      getUser(username:string): mysql.IQuery {
      
      }
      

      【讨论】:

      • 我试过了,但它仍然没有显示或编译,也许它是我的 IDE?
      • 你真的安装了这些类型吗? npm install @types/mysql --save-dev
      • 是的,我可以在我的 IDE 中看到这些类型,但我似乎无法从模块外部访问它们。我也试过你的命令,但没有成功。
      • 我可以使用与您完全相同的tsconfig 的界面。你能发布一些可复制的东西吗?
      • ReSharper 似乎是我的问题,仍然没有找到解决方法,但它超出了主题。
      猜你喜欢
      • 2017-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 2021-11-26
      • 2021-04-03
      • 2012-11-06
      • 2017-01-19
      • 1970-01-01
      相关资源
      最近更新 更多