2016-10-13 5 views
-1

죄송합니다, 내 나쁜 영어에 대해, 내가 배우는 Typescript 및 각도, 그리고 내 데이터베이스에 파일을 업로드하려고하지만 서버 측 및 클라이언트의 코드는 자바 스크립트이며 나는 코드를 변환하는 방법을 모릅니다. 형언, 도와 줄 수있어? 이 코드는 다음과 같습니다.자바 스크립트를 타이프 ​​스크립트로 변환하는 방법은 무엇입니까?

app.controller('MyCtrl',function($scope){ 
    $scope.$watch('files.length',function(newVal,oldVal){ 
     console.log($scope.files); 
    }); 
}); 

app.controller('MyCtrl',function($scope){ 

    ... 

    $scope.onSubmit = function(){ 
     var formData = new FormData(); 
     angular.forEach($scope.files,function(obj){ 
      formData.append('files[]', obj.lfFile); 
     }); 
     $http.post('./upload', formData, { 
      transformRequest: angular.identity, 
      headers: {'Content-Type': undefined} 
     }).then(function(result){     
     },function(err){ 
     }); 
    }; 

    ... 

}); 
var express = require('express'); 
var formidable = require('formidable'); 
var app = express(); 
app.use(express.static(__dirname + '/public')); 

... 

app.post('/upload',function(req,res){ 
    var form = new formidable.IncomingForm(); 
    form.uploadDir = __dirname +'/public/uploads'; 
    form.parse(req, function(err, fields, files) { 
    }); 
    form.on ('fileBegin', function(name, file){ 
     file.path = form.uploadDir + "/" + file.name; 
    }); 
    form.on ('end', function(){ 
     res.sendStatus(200); 
    }); 
}); 

... 
var express = require('express'); 
var multer = require('multer'); 
var app = express(); 
app.use(express.static(__dirname + '/public')); 

... 

var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
     cb(null, __dirname +'/public/uploads'); 
     //modify upload dest 
    }, 
    filename: function (req, file, cb) { 
     cb(null, file.originalname); 
    } 
}); 
var upload = multer({ "storage": storage }); 
var type = upload.array('files[]'); 

app.post('/upload',type,function(req,res){ 
    res.sendStatus(200); 
}); 

... 
+4

TypeScript는 JavaScript의 상위 집합입니다. 유효한 모든 JavaScript는 유효한 TypeScript입니다. –

+0

아니요, 잘못되었습니다. 구문의 상위 집합은 TS 코드가 JS에서 유효 함을 의미하지 않습니다. @Lucas R.,'.js' 파일의 이름을'.ts'로 바꿀 수 있습니다. 그러면 여러분이 사용하는 라이브러리에 대한 정의를 찾을 수 있습니다 : 'angular','$ http' 등. ES6 모듈을 가져오고 CommonJS 형식을 생성하도록 TS를 구성하는 구문. – Paleo

답변

0

파일 확장명을 js에서 ts로 바꿉니다. 당신이 할 가능성이 몇 가지가 있습니다

  1. 이 컨트롤러, 서비스를 선언하는 각도 정의
  2. 을 사용 class를 설치 ... 내가 타이프 라이터 2부터 시작 strictNullChecks 켜 권장

. 놀라운 기능입니다. IMHO, React + TypeScript는 완벽한 유형 확인 메커니즘을 제공합니다.

관련 문제