Node.js ------後端系統css
Js 的運行環境,在谷歌控制檯運行,在cmd也同樣能夠執行js代碼,使用V8引擎,本地瀏覽器環境html
在node.js 不須要瀏覽器環境,直接在node環境運行
1.直接 node 回車鍵-----直接把代碼粘貼----執行
2.直接node 要運行的文件名.js,----執行前端
建立一個簡單的服務器:node
在nodejs運行
var a = 1;
console.log(a)
require配合這個module.exports home自定義的模塊
var b = require("./home.js")
console.log(b.add(3, 4))mysql
建立一個簡單的服務器
步驟1 用require,引入http模塊
步驟2用http模塊的createServer方法建立一個服務器,createServer接受一個函數
步驟3用response.end方法相應數據到前端
步驟4用listen打開接口ajax
代碼以下:sql
var http = require("http");
//引入mysql第三方模塊
var mysql = require("mysql");
//處理路由的原生模塊
var url = require("url");
//處理路由參數的模塊
var querystring = require("querystring")數據庫
//進行數據庫鏈接
var connection = mysql.createConnection({npm
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