我正在使用Angular 2和Nodejs连接到SQL Server。如果我只是将以下代码放入js文件中,并使用node test.js
该代码通过控制台运行该代码,则会正确删除该记录。
这是代码:
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
之后,我将相同的文件移到src
Angular 2项目的文件夹中(其中index.html文件也存在)。我将相同的代码放入test.js
文件中的函数中,如下所示:
function testConnection()
{
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
}
现在,我想testConnection()
从索引页面进行呼叫。我已将<script src="C:\Users\amandeep.singh\Desktop\Angular\my-app\src\test.js">
脚本放置到脚本路径并使用以下命令调用函数:
<script>
testConnection();
</script>
索引页可以正确执行,但不会显示任何错误,也不会执行命令。我不明白为什么相同的代码在Node.js的控制台中起作用,但在我的index.html中却不起作用。
帮助将不胜感激。
您无法在浏览器中运行Node应用程序。Node.js是在您的操作系统上的Google V8 Javascript VM中运行Javascript的应用程序,旨在成为后端系统(至少在Web开发堆栈中)。
因此,您基本上必须在网络服务器上运行Node程序,并从Angular应用程序发出API请求。
互联网上有几本教程可以为您提供帮助。
这是Angular的官方文档angular.io
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句