aaa*_*rgh 18 node.js express typescript typescript1.7
我刚刚使用typescript开始了一个新的nodejs项目.我安装了Typings(https://github.com/typings/typings)并用它来安装节点v4.x和express v4.x的参考文件.
我的节点版本是v4.2.6我的打字稿版本是v1.7.5
我的项目目录如下:
package.json
tsconfig.json
typings.json
src/
app.ts
typings/
main.d.ts
main/ambient/node/node.d.ts
main/ambient/express/express.d.ts
Run Code Online (Sandbox Code Playgroud)
typings/main.d.ts的内容如下:
/// <reference path="main/ambient/express/express.d.ts" />
/// <reference path="main/ambient/node/node.d.ts" />
Run Code Online (Sandbox Code Playgroud)
tsconfig.json的内容如下:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs"
}
}
Run Code Online (Sandbox Code Playgroud)
typings.json的内容如下:
{
"dependencies": {},
"devDependencies": {},
"ambientDependencies": {
"express": "github:DefinitelyTyped/DefinitelyTyped/express/express.d.ts#dd4626a4e23ce8d6d175e0fe8244a99771c8c3f2",
"node": "github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts#1c56e368e17bb28ca57577250624ca5bd561aa81"
}
}
Run Code Online (Sandbox Code Playgroud)
src/app.ts的内容如下:
'use strict';
///<reference path="../typings/main.d.ts"/>
import * as express from "express";
Run Code Online (Sandbox Code Playgroud)
这非常简单,应该会产生一个基本的应用程序.但是,当我尝试编译它时,我得到了错误error TS2307: Cannot find module 'express'.
我已经尝试重新排列打包文件,更改引用路径标记中的相对路径,使用files
tsconfig.json中的字段来指示引用路径而不是在文件中使用内联标记,但都无济于事.我也曾尝试使用编制gulp-typescript
,gulp-tsc
以及tsc
直接在命令行.
我得到类似的错误,当我尝试使用建立的NodeJS式模块,例如crypto
,http
,fs
等
这些引用似乎有效 - 我错过了什么?
Dan*_*ser 19
三斜杠指令需要在文件中的任何语句之前.您的"use strict"
序言需要在您的参考意见之后如此:
///<reference path="../typings/main.d.ts"/>
'use strict';
import * as express from "express";
Run Code Online (Sandbox Code Playgroud)
作为您的评论的后续内容,您没有为导入获取任何发射:这是因为TypeScript执行导入省略.除非您将模块用于某些值,否则编译器将不会发出导入,因为它假定您只需要该模块用于其类型.
归档时间: |
|
查看次数: |
37738 次 |
最近记录: |