我在Typescript中的一个文件(upload.ts)中有一个导出的模块,我无法将其导入另一个文件(application.ts)而没有错误.另外,我无法导入ExpressJS.
这是Upload.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
///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.(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)
这是头文件,它引用了两个:
////// /// ///
lena.. 7
你需要:
确保把两者express.d.ts
并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然后打字稿