【问题标题】:Typescript unable to find Express moduleTypescript 找不到 Express 模块
【发布时间】:2020-06-14 21:41:45
【问题描述】:

我正在尝试创建我的第一个 NodeJS 应用程序,但是我无法让它工作。

这些是迄今为止我从各种博客中遵循的步骤,并尝试在 typescript 中构建第一个 nodejs 应用程序。

npm install -g express-generator
npm install -g typescript
express SampleApp
npm install -g typings
typings install dt~node --global
typings install dt~express dt~serve-static dt~express-serve-static-core --global
cd SampleApp
npm install

你好.ts

import express = require('express');
var app = express();

当我用 TypeScript 编译 ts 文件时

>>> tsc -m commonjs -t es5 hello.ts
hello.ts(1,26): error TS2307: Cannot find module 'express'.

我浏览了各种资源,找不到解决方案。 我想我不必手动将 node.d.ts 和 express.d.ts 文件复制到项目文件夹中。

如果我单独使用 nodejs 和 expressjs npm start 它工作正常。 Typescript插件是我做不到的

谁能帮助我在这里到底做错了什么?

【问题讨论】:

  • 没有任何TS经验,但一般运行express SampleApp后需要在生成的项目目录下运行npm install。
  • cd SampleApp 然后 npm install
  • @arjunkori,我已经做到了。我是 nodejs 的新手,但是我对安装包和运行东西知之甚少。只是想插入“TypeScript”
  • 您有什么理由要在全球范围内安装类型吗? :)
  • @toskv,它建议我安装 global 和 VS Code 官方博客,所以我就这样做了 :)

标签: node.js express typescript


【解决方案1】:

我通过卸载typings 包并使用--global --save 重新安装typings 解决了这个问题

1. npm uninstall typings --global
2. npm install typings --global
3. typings install dt~node dt~express --global --save

然后打字稿文件编译得很好。

报告的问题:https://github.com/typings/typings/issues/543

【讨论】:

  • 对我不起作用。按照步骤 1-3 甚至删除了我的 Program Files(86)\Microsoft SDKS\Typescript 文件夹中的条目。我正在使用 TS 1.8。
  • 使用npm install typescript -g安装typescript
  • 试过了,然后再次执行步骤 1-3。 tsc app.ts 仍然无法使用 typescript import 语句(如 import * as express from 'express')找到 express。
  • 创建了新项目,以相同的方式设置并使用 typescript 2.1。同样的问题。 Typescript 也安装在全局范围内。
  • 搞定了。重新安装所有节点模块。谢谢!
【解决方案2】:

打字稿不包含 express 的类型描述,必须使用以下内容添加

npm i @types/express

【讨论】:

    猜你喜欢
    • 2023-02-26
    • 2018-01-27
    • 2019-08-16
    • 2016-09-20
    • 2017-02-24
    • 2016-10-24
    • 2018-11-19
    • 2016-08-30
    • 1970-01-01
    相关资源
    最近更新 更多