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. Vue2.x整合百度地图JavaScript方案

    代码很整合很简单,主要记录操作思路,注意回调百度地图api的回调函数 @/utils/map.js let Map = { BaiDuMap(ak) { return new Promise(func ...

  2. ML(4.1): R C4.5

    决策树模型中最为流行的是C4.5算法,  该类算法70年代末,J Ross Quinlan提出ID3算法,此算法的目的在于减少树的深度.但是忽略了叶子数目的研究.1993年,Quinlan本人以ID3 ...

  3. 【appium】根据accessibility_id定位元素

    如何获得AccessibilityId 可以通过UIAutomatorViewer或者Appium Inspector获得.Accessibility ID在Android上面就等同于contentD ...

  4. Logstash之三:命令行中常用的命令

    -f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash -e:后面跟着字符串,该字符串可以被当做logstash的配置(如果是“” 则默认使用stdin作为输入,std ...

  5. Unity3D 3D模型在GUI之上显示

    原来旧的办法是,在主相机上加一个Panel,把3D模型显示在Panel上面,感觉这个方法不怎么好,现在进行改进: 现在用了两个相机,一个相机显示3D模型,另外一个是主相机.还需要GUITexture来 ...

  6. 跨域获取json数据

    原文地址:http://my.oschina.net/LinBandit/blog/34570   前阵子做了一个前端动态加载json数据的应用,其中使用xmlhttprequest动态加载js,但是 ...

  7. sersync基于rsync+inotify实现数据实时同步

    一.环境描述 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 主服务器A:192.168.1.23 从服务器B:192. ...

  8. Missing Number @leetcode

    Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...

  9. 搭建MySQL高可用负载均衡集群(收藏)

    https://www.cnblogs.com/phpstudy2015-6/p/6706465.html

  10. ORM 框架简介

    对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应 ...