1.首先查询node,npm与cnpm版本号,确认安装无误,查询命令为node -v,npm -v,cnpm -v;
2.一般情况下,在安装了node.js后,npm也会自动安装。所以我们只需要将npm转换为cnpm,执行命令为
npm install -g cnpm -registry=https://registry.npm.taobao.org
3.确认无误后,安装express,创建网站
执行命令cnpm install express -g
安装好后执行命令cnpm install express-generator -g
然后输入express -v 检查网站是否安装成功
成功之后执行下一步命令
创建网站exam(举例),命令为md exam或者直接在资源文件管理器内创建文件夹
然后到这个文件夹下,命令为cd exam
然后开始配置网站,命令为express -e
接着执行cnpm install安装模块
之后执行npm start,启动服务,运行网站,接着去浏览器检查是否成功,网址为127.0.0.1:3000
4.接下来创建数据库,创建好本地连接后,在localmongo上单击右键,选择 create database,输入要创建的数据库集合名称例如SHOPS_DB,然后进入SHOPS_DB下的collections文件夹,在其上面单击右键,选择create collection,创建文档shops,之后输入insert document,编写数据库。
5.给网站安装mongodb,命令为cnpm install mongodb --save;
输入cnpm list mongodb查询所在文件资源管理器的位置
6.在hbuilderx里打开对应文件夹,修改app.js模块和rotues下对应文件的模块代码,rotues下对应文件代码如下
shops.js
/* 通常查询方式:根据请求名称查询数据库文档 */
var MongoClient = require('mongodb').MongoClient;
var mongo_url = "mongodb://localhost:27017/";
var http = require('http');
var url = require('url');
var util = require('util');
router.get('/', function(req, res, next) {
var shop_name = url.parse(req.url, true).query.name;
MongoClient.connect(mongo_url, function(err, db) {
if (err) throw err;
var dbo = db.db("shops_db");
var whereStr = {"shop_name": shop_name}; // 查询条件
dbo.collection("shops").find(whereStr).toArray(function(err, result) {
if (err) throw err;
res.send(result);
db.close();
});
});
});
/* 模糊查询方式:根据请求名称模糊查询数据库文档 */
var MongoClient = require('mongodb').MongoClient;
var mongo_url = "mongodb://localhost:27017/";
var http = require('http');
var url = require('url');
var util = require('util');
router.get('/', function(req, res, next) {
var shop_name = url.parse(req.url, true).query.name;
MongoClient.connect(mongo_url, function(err, db) {
if (err) throw err;
var dbo = db.db("shops_db");
var reg = new RegExp(shop_name);
var whereStr = {"shop_name":reg}; // 查询条件
dbo.collection("shops").find(whereStr).toArray(function(err, result) {
if (err) throw err;
res.send(result);
db.close();
});
});
});
5.点击ctrl+c两次,关闭当前网站,然后npm start再次启动,去浏览器输入要查询物品的命令,检测网站是否能拿到数据