【问题标题】:Everything imported with "import" gets types but require() doesn't使用 \"import\" 导入的所有内容都会获得类型,但 require() 不会
【发布时间】:2022-10-05 01:47:12
【问题描述】:

我不知道这个问题是否与 VS Code 有关。但基本上在使用这种语法在打字稿中导入包时

import express from "express";

我得到类型定义以及代码本身。 但每当我使用

const express = require("express");

它具有any 类型。这不是express 特定的。

我是 node.js 的新手。

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如它目前所写的那样,很难准确地说出你在问什么。

标签: node.js typescript node-modules


【解决方案1】:

如果您需要使用require 来加载您的模块(因为您在 CommonJS 模块中或出于任何原因),您仍然可以将它与 import 语句一起使用。它也会加载类型。

import express = require('express');

【讨论】:

    【解决方案2】:

    我认为这与 VS Code 无关,但根据个人经验,您是对的:import 和 require 工作方式不同。如果我们使用 import 关键字而不是 require,TypeScript 只会加载类型定义。如果使用require,您将看到定义为any 的类型。

    因此,只要有可能,坚持使用import 关键字,您将获得已加载并可供使用的类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多