首先我們來看看安裝 nodejs及架構express的步驟
從node官網下載安裝檔案,官網地址:http://nodejs.org/
這個安裝程式也很常規,順序點擊下一步就可以,或者做一些簡單的選擇,無需多說,只需強調一點,其中一步如圖所示:Add To Path一定要選上。這個的作用簡單說就是,在windows命令列添加node相關命令,詳細請自行百度。
我們非常愉快地把node安裝完成,然後安裝express,express是node官方唯一推薦的一個web架構,提供很多基礎方便的功能。
在命令列中執行 "npm install -g express"等待下載並且自動完成安裝。測試express完成安裝的一個方法就是查看其版本號碼,執行命令 “express -V”正常情況下回輸出版本號碼如圖,但有遇到不正常情況的,會提示“express不是內部或外部命令”,這樣問題就來了,這是什麼原因呢?
有兩種可能:①在第二步安裝node是沒有添加環境變數,這種情況把node添加的環境變數即可解決。②express 4.x版本中將命令工具分出來了,需要再安裝一個命令工具,執行命令“npm install -g express-generator”完成後再測試就可以了。
安裝開發工具WebStorm,這個比較簡單,我們就不細講了。
建立nodeJsExpress項目,使用ejs模板;
下載node-mssql串連資料庫驅動(進入指定的目錄用npm命令執行:npm install node-mssql);
拷貝node-mssql檔案夾到express項目的node-modules目錄;
使用dbHelper工具類,進行資料查詢,以及EJS頁面資料展示;
dbHelper代碼如下:
var node_mssql = require('node-mssql');/* add configuration to query object */var queryObj = new node_mssql.Query({ host: '192.168.20.135', port: 1433, username: 'sa', password: 'sa', db: 'database'});var insert = function (data, insertTable, callback, res) { queryObj.table(insertTable); queryObj.data(data); queryObj.insert(function (results) { //success callback(res, "添加成功!"); }, function (err, sql) { if (err) {//error callback(res, "添加失敗!"); console.log(err); } });};var list = function (whereSql, table, callback, res) { queryObj.table(table); queryObj.where(whereSql); queryObj.select(function (data) { //success callback(data, res); }, function (err, sql) { if (err) { //error console.log(err); } });};var update = function (data, option, upTable, callback, res) { queryObj.table(upTable); queryObj.data(data); queryObj.where(option); queryObj.update(function (results) { // success callback callback(res, "修改成功!"); }, function (err, sql) { if (err) { callback(res, "修改失敗!"); console.log(err); } });};exports.insert = insert;exports.list = list;exports.update = update;
要使用dbHelper,在list頁面中進行展現,首先配置app.js,設定Action過濾,代碼如圖:
這樣配置之後,訪問地址:http://xxxx/list就分發到list.js的控制器了,然後在list.js進行處理代碼,list.ejs進行便簽展現,
list.js代碼如下:
var express = require('express');var dbHelper = require('./dbHelper.js');var router = express.Router();/* GET home page. */router.get('/', function (req, res, next) { dbHelper.list({}, 'dbo.table1', callback, res); // list參數,第一個是whereSql查詢條件,json格式;第二個是表名,第三個是回呼函數,第四個是express返回用戶端的response類});var callback = function (data, res) { res.render('list', {listData: data}); // 第一個參數:模板名稱對應list.ejs,第二個是參數名和資料};module.exports = router;
list.ejs代碼如下:
<!DOCTYPE html><html><head> <title></title> <link rel='stylesheet' href='/stylesheets/style.css'/></head><body><ul> <% for(var i = 0; i < listData.length; i++) { %> <li><%= listData[i].Id %> : <%= listData[i].Name %></li> <% } %></ul></body></html>
執行結果如圖: