[英]Can't Find Modules Error In Yeoman Generated Express Typescript Project
[英]Typescript can't find modules
我在Typescript的一个文件(upload.ts)中有一个导出的模块,我无法无错误地导入到另一个文件(application.ts)中。 另外,我无法导入ExpressJS。
这是Upload.ts
/// <reference path="Main.d.ts" />
var fs = require('fs');
var path = require('path');
var formidable = require('formidable');
export class Upload{
public parse(req, res, next) {
...
}
public save(req, res, next) {
...
}
public respond(req, res, next) {
...
}
public errors(err, req, res, next) {
...
}
};
这是application.ts
/// <reference path="Main.d.ts" />
var http = require("http");
import express = require("express");
import upload = require("Upload");
var upload = new upload.Upload();
var app = express.express();
var HOST = "localhost";
var PORT = 8080;
app.use(express.logger());
app.use(app.router);
var app = express.express();
代码抛出错误:无法解析的函数或方法表达。 我已经从https://github.com/borisyankov/DefinitelyTyped/tree/master/express导入express.d.ts
这是错误:
module.js:340
throw err;
^
Error: Cannot find module 'upload'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\Users\Me\WebstormProjects\untitled\server\main.js:12:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
这是引用两个文件的头文件:
/// <reference path="upload.ts" />
/// <reference path="node.d.ts" />
/// <reference path="application.ts" />
/// <reference path="express.d.ts" />
你需要:
express.d.ts
和node.d.ts
放入应用程序文件附近的项目目录中 例:
/// <reference path="libs/express.d.ts" />
/// <reference path="libs/node.d.ts" />
import http = require("http");
import express = require("express");
import upload = require("Upload");
var upload = new upload.Upload();
var app = express();
Upload
模块的引用方式类似。 顺便说一句,您的代码更像是JavaScript,然后是打字稿
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.