express + mongodb 搭建一个简易网站(一)
前言:后台使用node.js的express框架,数据库使用mongodb,模板使用ejs。大概就这些。
开始第一个简易网站之旅吧。。。。
1.在自己的电脑随意一个盘中建一个文件夹,名字怎么取看自己心情了,我自己的名字叫website。进入website文件夹,在根目录下新建一个package.json,添加如下代码,当然也可以在控制台中输入npm init来初始化package.json。代码贴出来了。
{
"name": "website",
"version": "1.0.0",
"description": "first website",
"main": "app.js",
"dependencies": {
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"Node.js",
"MongoDB"
],
"author": "candicy",
"license": "ISC"
}
2.万事开头难,第一步已经迈出去了,那就继续前行吧。在根目录下新建一个app.js的空js文件,作为项目的启动文件。然后在控制台安装express,输入npm install express。
好了,现在就开始在app.js中让我们的项目运行起来吧,在app.js中添加如下代码:
var express = require('express'); // 引入express框架
var port = process.env.PORT || 8000; // 设置端口号:3000 var app = express(); //实例化express app.listen(port); // 启动web服务。 console.log('server listening at ' + port);
在控制台输入node app按确定,然后控制台输出如下信息则代表我们的第一个服务已经启动成功了。就这样我们的简易网站已经在本地跑起来了。
3.到这里我们已经能启动一个web服务了,但是还没有什么东西,是不是觉得很小儿科啊,那就继续吧。
知识点补充:
express路由
路由是指如何定义应用的端点(URIs)以及如何响应客户端的请求。说的简单的就是我们输入url匹配到什么样的内容。
路由是由一个 URI、HTTP 请求(GET、POST等)和若干个句柄组成,它的结构如下: app.METHOD(path, [callback...], callback), app 是 express 对象的一个实例, METHOD 是一个 HTTP 请求方法, path 是服务器上的路径, callback 是当路由匹配时要执行的函数。
下面是一个基本的路由示例:
var express = require('express');
var app = express(); // respond with "hello world" when a GET request is made to the homepage
app.get('/', function(req, res) {
res.send('hello world');
}); // respond with "hello world" when a GET request is made to the homepage
app.get('/admin', function(req, res) {
res.send('hello admin');
});
在express中,定义了如下和 HTTP 请求对应的路由方法: get, post, put, head, delete, options, trace, copy, lock, mkcol, move, purge, propfind, proppatch, unlock, report, mkactivity, checkout, merge, m-search, notify, subscribe, unsubscribe, patch, search, 和 connect。
但是我们常用的就是get,post。
以上是简单的路由知识点补充。详细了解express路由知识:http://www.expressjs.com.cn/guide/routing.html
下面我们来开启路由的大门吧。
在app.js中修改代码如下:
var express = require('express'); // 引入express框架
var port = process.env.PORT || 8000; // 设置端口号:3000 var app = express(); //实例化express app.listen(port); // 启动web服务。
//跟路由
app.get('/', function(req, res) {
res.send('这是首页。');
})
// admin路由
app.get('/admin', function(req, res) {
res.send('这是admin页。');
})
// detail路由
app.get('/detail', function(req, res) {
res.send('这是detail页。');
})
// about路由
app.get('/about', function(req, res) {
res.send('这是about页。');
}) console.log('server listening at ' + port);
运行node app然后在浏览器中输入
http://localhost:8000/
http://localhost:8000/admin
http://localhost:8000/detail
http://localhost:8000/about
出现下面对应的效果就ok了,第一篇的内容就这么多吧。当然我们的网站肯定不会这么简单,后面继续。