, Sequelize - Javascript, , , angular2 .
, "Tour of Heroes" angular2 .
1: , NodeJS - ! - , :
var express = require('express');
var http = require('http');
var path = require('path');
var bodyParser = require('body-parser');
var mysql = require('ms-sql');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(path.join(__dirname, 'public')));
, , , angular . MS-SQL , body-parser. npm install express-generator -g, express myapp .
! .
var server = http.createServer(app);
server.listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
, node myapp.js , !
angular2.
app.get('/', function(req, res){
res.render('index.html');
});
index.html . angular2 Node!
, , ms-sql. , ms-sql, MySQL . node :
app.use(
connection(mysql,{
host: 'localhost',
user: 'root',
password : 'myPassword',
port : 3306,
database:'myDatabaseName'
},'request')
);
, , .
app.get('/api/heroes', function(req, res){
req.getConnection(function(err,connection){
connection.query("SELECT ID, ROLE_NAME, DESCRIPTION, ACTIVE_FLAG FROM ROLES",function(err,rows) {
if(err)
console.log("Error Selecting : %s ",err );
res.json({data:rows});
});
});
});
, → data.
, angular2 , , ngOnInit. , , .
import { Component, OnInit } from 'angular2/core';
import {Http} from 'angular2/http':
@Component({
selector: 'my-sql',
template:`
<h1>SQL Test</h1>
{{myData}}
`
})
export class dbComponent implements OnInit {
myData: any;
constructor(public http: Http) { }
ngOnInit() {
this.http.get('api/heroes/').map((response => this.myData = response.json().data));
}
}
, . Http , this.http! , Http.
ngOnInit http- api my.ydata response.json(), , , ? , JSON , .
Sequelize, , , , , MySQL.
, .