Node.js ------后端系统
Js 的运行环境,在谷歌控制台运行,在cmd也一样可以执行js代码,使用V8引擎,本地浏览器环境
在node.js 不需要浏览器环境,直接在node环境运行
1.直接 node 回车键-----直接把代码粘贴----执行
2.直接node 要运行的文件名.js,----执行
创建一个简单的服务器:
在nodejs运行
var a = 1;
console.log(a)
require配合这个module.exports home自定义的模块
var b = require("./home.js")
console.log(b.add(3, 4))
创建一个简单的服务器
步骤1 用require,引入http模块
步骤2用http模块的createServer方法创建一个服务器,createServer接受一个函数
步骤3用response.end方法相应数据到前端
步骤4用listen打开接口
代码如下:
var http = require("http");
//引入mysql第三方模块
var mysql = require("mysql");
//处理路由的原生模块
var url = require("url");
//处理路由参数的模块
var querystring = require("querystring")
//进行数据库连接
var connection = mysql.createConnection({
host: 'localhost',
user: 'test',
password: '123456789',
database: 'laoyao'
});
//执行连接
connection.connect();
命令行:cd js 定位到js文件,因为js文件应该放在与index.html的同一级下
否则出现错误:
创建一个服务器应用:
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
response.end('Hello World');
response.end(JSON.stringify(result))
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');
从数据库把数据拉回来:
<!-- database-sql-> nodejs(中间件) -ajax-> 前端 -->
1.在命令行输入 cnmp install myaql
2.//引人mysql 第三方模块
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'abc',
password : 'abc',
database : 'test'
});
connection.connect();
connection.query('SELECT * From classs', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results);
});
//断开数据库的链接
connection.end();
注意:每执行一次代码都要重启服务器
最终从数据库导出来的结果如下:
解决跨域:
http.createServer(function(request, response) {
//解决跨域
response.setHeader("Access-Control-Allow-Origin", "*");
//设置头部信息
/*response.writeHead(200, {
'Content-Type': 'text/css'
});*/
//请求的东西 ajax发过来的东西
//response就是服务器相应给浏览器
node.js链接到数据库代码:
https://www.npmjs.com/package... ----借鉴代码网站
<!-- database-sql<- nodejs(中间件) <-ajax- 前端 -->
//mysql
var obj = {
name: 'teacher',
}
console.log("路由:" + request.url) //abc?name=yao
console.log("路由的路径:" + url.parse(request.url).pathname) // /abc
var pathname = url.parse(request.url).pathname;
console.log("路由的参数:" + url.parse(request.url).query) //name=yap&skill=ps
var paramsStr = url.parse(request.url).query;
console.log("路由的参数从字符串转为对象")
console.log(querystring.parse(paramsStr))
var params = querystring.parse(paramsStr);
//console.log("路由参数:"+url.parse(string).query)
//处理路由的逻辑
//url.parse(string).pathname
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。