2016-10-13 12 views
-1

私の悪い英語については申し訳ありませんが、TypescriptとAngularを学習しています。ファイルを自分のデータベースにアップロードしようとしていますが、サーバーサイドとクライアントのコードはJavascriptであり、 Typescript、あなたは私を助けてくれますか?これはコードです:javascriptを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

いいえ、間違っています。シンタックスのスーパーセットは、任意のJSコードがTSで有効であることを意味するものではありません。 @Lucas R.、 '.js'ファイルの名前を' .ts'に変更することができます。使用するライブラリの定義を見つける必要があります: 'angular'、' $ http'などです。ES6モジュールをインポートし、CommonJS形式を生成するようにTSを構成するための構文。 – Paleo

答えて

0

ファイル拡張子の名前をjsからtsに変更します。それはそれです。あなたがする可能性があるいくつかのものがあります。

  1. は、私は活字体2から始まるお勧めしますし、strictNullChecksをオンに...サービス、あなたのコントローラを宣言するために使用class

を角度の定義をインストールします。それは素晴らしい機能です。 IMHO、React + TypeScriptは完全な型チェックメカニズムを提供します。

関連する問題