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 搭建一个简易网站(一)的更多相关文章

  1. express + mongodb 搭建一个简易网站 (四)

    express + mongodb 搭建一个简易网站 (四) 目前网站整体页面都已经能全部展示了,但是,整个网站还有两个块需要做完才能算完整,一个连接数据库,目前网站上的数据都是抓取的本地假数据,所以 ...

  2. express + mongodb 搭建一个简易网站 (三)

    express + mongodb 搭建一个简易网站 (三) 前面已经实现了基本的网站功能,现在我们就开始开搞一个完整的网站,现在整个网站的UI就是下面的这个样子. 我们网站的样子就照着这个来吧. 1 ...

  3. express + mongodb 搭建一个简易网站(二)

    express + mongodb 搭建一个简易网站 (二) 在搭建网站(一)中,实现了简单的路由功能,这离一个完整的网站还差的有点远,继续撸代码吧. 1.首先在根目录下新建一个views文件夹,用来 ...

  4. express + mongodb 搭建一个简易网站 (五)

    前面已经将导航中的“所有宝贝”页面连上了mongodb,现在我们就把其他的页面脸上数据库,将整个网站全部实现. 打开routes文件,找到jacket.js,将里面的代码修改如下: var expre ...

  5. 从无到有,用Nodejs+express+mongodb搭建简易登陆系统

    前端处理server表示很蛋疼,初学Node,虽然感觉异常强大,但是学起来还是有些吃力的,Node是工具,它不是万能的,搭建一个系统还是需要借助其他一些工具,对于我这个没怎么接触server的前端来说 ...

  6. 使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移

    本篇使用EF Code First搭建一个简易ASP.NET MVC 4网站,并允许数据库迁移. 创建一个ASP.NET MVC 4 网站. 在Models文件夹内创建Person类. public ...

  7. Angularjs,WebAPI 搭建一个简易权限管理系统

    Angularjs,WebAPI 搭建一个简易权限管理系统 Angularjs名词与概念(一)   1. 目录 前言 Angularjs名词与概念 权限系统原型 权限系统业务 数据库设计和实现 Web ...

  8. nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

    GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...

  9. 利用git+hugo+markdown 搭建一个静态网站

    利用git+hugo+markdown 搭建一个静态网站 一直想要有一个自己的文档管理系统: 可以很方便书写,而且相应的文档很容易被分享 很方便的存储.管理.历史记录 比较方面的浏览和查询 第一点用M ...

随机推荐

  1. php的zend引擎执行过程 一

    1. Zend引擎主要包含两个核心部分:编译.执行: 执行阶段主要用到的数据结构: opcode: php代码编译产生的zend虚拟机可识别的指令,php7有173个opcode,定义在 zend_v ...

  2. PREV-1_蓝桥杯_核桃的数量

    问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的要求是: 1. 各组的核桃数量必须相同 2. 各组内必须能平分核桃( ...

  3. BASIC-8_蓝桥杯_回文数

    示例代码: #include <stdio.h> int main(void){ int i = 0 ; int a = 0 , b = 0 , c = 0 , d = 0 ; for ( ...

  4. jquery的load()事件和ajax中load()方法的区别

    load事件 当图像加载时,改变 div 元素的文本: $("img").load(function(){ $("div").text("Image ...

  5. Linux下查看系统版本号信息的方法(转载)

    原文出处  http://www.ha97.com/2987.html 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux v ...

  6. CentOS所有版本下载地址分享

    简述 CentOS(Community Enterprise Operating System - 社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux ...

  7. VS Code 基本介绍 和 快捷键

    简介 VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以大幅提升前端开发的效率. 布局:左侧是用于展示所要编辑的所有文件和文件夹的文件管理器,依次是:资源管理器,搜 ...

  8. 腾讯优图联手Science发布主题报告:计算机视觉的研发和应用

    近日,腾讯优图与<科学>(Science)杂志共同发布<Seeing is believing: R&D applications of computer vision> ...

  9. CentOS 配置软raid

    v-box里面新建一个centos7.3的服务器 v-box中增加4块8GB容量的硬盘.(我增加的是nvme的ssd硬盘,普通硬盘也没有问题,容量大代表你需要等待的时间长,所以小点容量最好) 创建ra ...

  10. OMIM 表型和基因如何关联

    OMIM数据库:大神私藏的数据库,99.9%的人都不知道! 2019-03-04 11:00乳腺癌/医生/肺癌 “ GEO.NCDB.TCGA.SEER数据库这些我都知道,但OMIM是什么鬼? OMI ...