2013-12-12 3 views
1

У меня есть экспортированный модуль в одном файле (upload.ts) в TypScript, который я не могу импортировать в другой файл (application.ts) без ошибок. Кроме того, я не могу импортировать ExpressJS.TypScript не может найти модули

Вот 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(); код выдает ошибку: Нерешенные функция или метод экспресс. Я импортировал express.d.ts от https://github.com/borisyankov/DefinitelyTyped/tree/master/express

Вот ошибка:

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" /> 

ответ

7

Вам нужно:

  • не забудьте поставить и 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 модуль может ссылаться аналогичным образом. BTW, ваш код больше похож на javascript, затем машинописный текст

+0

На самом деле я уже это сделал. Существует общий заголовочный файл, к которому относятся все файлы, и относится ко всем файлам. Я в процессе перехода от Javascript к Typcript – EternallyCurious

Смежные вопросы