如何在打字中安装快递?
Posted
技术标签:
【中文标题】如何在打字中安装快递?【英文标题】:How to install express in typings? 【发布时间】:2016-07-02 11:14:51 【问题描述】:我正在尝试在我的应用中使用 expressjs。
使用typings install express --ambient --save
安装后,我运行tsc
,但出现两个错误:
typings/main/ambient/express/index.d.ts(17,34):错误 TS2307:不能 找到模块“服务静态”。 typings/main/ambient/express/index.d.ts(18,27):错误 TS2307:不能 找到模块“express-serve-static-core”。
所以,我尝试安装两者:
typings install serve-static --ambient --save
typings install express-serve-static --ambient --save
然后我再次运行 tsc,但又出现一个错误:
typings/main/ambient/serve-static/index.d.ts(79,24):错误 TS2307: 找不到模块“mime”。
我该如何解决这些问题?如何自动安装 express 的所有依赖项?
【问题讨论】:
【参考方案1】:我自己也遇到过这个问题,我相信是来自:
Importing node and express with typings in TypeScript
我同时安装了 serve-static 和 express-serve-static,然后出现错误,指出我缺少“mime”和“http”。
我必须安装节点类型来解决丢失的 http 引用和 mime 类型来解决 mime 丢失的引用。
typings install mime --ambient --save
typings install node --ambient --save
【讨论】:
使用typings 1.0,我相信现在是:typings install dt~mime --global --save
现在(2016 年 10 月)正确的命令是 typings install mime --global --save --source dt
【参考方案2】:
"globalDependencies":
"express": "registry:dt/express#4.0.0+20160708185218",
"express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20160715232503",
"mime": "registry:dt/mime#0.0.0+20160316155526",
"node": "registry:dt/node#6.0.0+20160621231320",
"serve-static": "registry:dt/serve-static#0.0.0+20160606155157"
这是我的工作 Typings.json
【讨论】:
这整个时间......在我的 typings.json 中为我的错误:->“registry:dt/express-serve-static-core#0.0.0+20160715232503”不知何故我得到了 0.0 版.0 并且必须手动将其更改为 4.0.0 然后运行 typings install dt~express-serve-static-core --global --save 为什么不和express一起安装?这些是对等依赖项吗?【参考方案3】:对我有用的命令(我发布的那天)是:
typings install dt~express --global --save
(环境被全局替换)
要查找其他相关模块,您可以使用命令typings search express
(它还为您提供源信息)
【讨论】:
【参考方案4】:有了 Typescript 2.0(https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/),现在不一样了:
如果您使用以下命令安装 typescript:
npm install -g typescript@2.0
您必须使用命令安装快速分型
npm install --save @types/express
而不是像早期版本那样使用环境/全局安装类型。打字被安装在node_modules/@types/express
目录中
您的 package.json 在执行npm install
of types
后将具有以下片段:
"dependencies":
"@types/express": "^4.0.33"
【讨论】:
@types/express
的版本必须与express
的版本相同吗?【参考方案5】:
我自己也遇到过这个问题,发现您还必须安装实际的 nodeJS 模块及其打字。
因此,当您正确配置了 typescript 和项目时,您需要安装 nodeJS 依赖项和 @types 依赖项。
npm install express --save
npm install --save @types/express
【讨论】:
以上是关于如何在打字中安装快递?的主要内容,如果未能解决你的问题,请参考以下文章
在 Node express 应用程序中安装 Entrust SSL 证书
如何在python2.7中安装MySQLdb 在virtualenv中安装