express + mongodb 搭建一个简易网站(一)
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了,第一篇的内容就这么多吧。当然我们的网站肯定不会这么简单,后面继续。




express + mongodb 搭建一个简易网站(一)的更多相关文章
- express + mongodb 搭建一个简易网站 (四)
express + mongodb 搭建一个简易网站 (四) 目前网站整体页面都已经能全部展示了,但是,整个网站还有两个块需要做完才能算完整,一个连接数据库,目前网站上的数据都是抓取的本地假数据,所以 ...
- express + mongodb 搭建一个简易网站 (三)
express + mongodb 搭建一个简易网站 (三) 前面已经实现了基本的网站功能,现在我们就开始开搞一个完整的网站,现在整个网站的UI就是下面的这个样子. 我们网站的样子就照着这个来吧. 1 ...
- express + mongodb 搭建一个简易网站(二)
express + mongodb 搭建一个简易网站 (二) 在搭建网站(一)中,实现了简单的路由功能,这离一个完整的网站还差的有点远,继续撸代码吧. 1.首先在根目录下新建一个views文件夹,用来 ...
- express + mongodb 搭建一个简易网站 (五)
前面已经将导航中的“所有宝贝”页面连上了mongodb,现在我们就把其他的页面脸上数据库,将整个网站全部实现. 打开routes文件,找到jacket.js,将里面的代码修改如下: var expre ...
- 从无到有,用Nodejs+express+mongodb搭建简易登陆系统
前端处理server表示很蛋疼,初学Node,虽然感觉异常强大,但是学起来还是有些吃力的,Node是工具,它不是万能的,搭建一个系统还是需要借助其他一些工具,对于我这个没怎么接触server的前端来说 ...
- 使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移
本篇使用EF Code First搭建一个简易ASP.NET MVC 4网站,并允许数据库迁移. 创建一个ASP.NET MVC 4 网站. 在Models文件夹内创建Person类. public ...
- Angularjs,WebAPI 搭建一个简易权限管理系统
Angularjs,WebAPI 搭建一个简易权限管理系统 Angularjs名词与概念(一) 1. 目录 前言 Angularjs名词与概念 权限系统原型 权限系统业务 数据库设计和实现 Web ...
- nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客
GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...
- 利用git+hugo+markdown 搭建一个静态网站
利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...
随机推荐
- MongoDB GUI( Robo 3T) Shell使用及操作
Robo 3T 下载及使用 之前叫 Robomongo,后面被收购了,改名 Robo 3T . 下载链接:https://robomongo.org/download (需要FQ) 安装步骤省略,下一 ...
- python中hashlib md5
如下两种方法,结果相同 import hashlib import time m = hashlib.md5() m.update(str(time.time()).encode('utf-8')) ...
- 关闭IE 对剪切板访问的提示
在internet 选项-“安全”选项卡-自定义级别. 在“脚本”下面找到“允许对剪切板进行编程访问”,选择“启用”即可. -END
- svn 提交代码 自动过滤技巧,自动过滤不想提交的文件和文件夹
原文:http://www.cnblogs.com/codealone/p/3208620.html 打开SVN客户端-----常规设置------全局忽略样式,添加 bin obj debug Re ...
- rainmeter 修正天气插件信息不准确 设置居住城市
rainmeter天气插件的原理是用爬虫抓取一个天气网页然后用自带的那一套正则表达式匹配出天气信息 在国外官网社区下载的插件的天气信息城市都会出现问题(因为插件作者又不知道你在哪),解决方法是在原基础 ...
- vue 感觉很好的渲染模式
<ul v-if="todos.length"> <li v-for="todo in todos"> {{ todo }} </ ...
- sigar在Centos和Windows下使用java系统软硬件配置信息
背景 本来这个网上一大堆实在没什么想写的,但是好像大多数都是互相抄袭的,在centos根本上用不了,因此我整理下自己具体实现的步骤. 使用环境 sigar版本:hyperic-sigar-1.6.4 ...
- bzoj3631 松鼠的新家
Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀 ...
- 获取 user-agents
user-agent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0. ...
- java实验四——找鞍点
package hello; public class 实验四 { public static void main(String[] args) { // TODO Auto-generated me ...