node.js后台快速搭建在阿里云(一)(express篇)
前期准备
简介
嗯……我只是个前端而已
前段时间写过一个.net mvc的远程发布,关于.net mvc 的增删改查的小demo也做过一个小例子,然后又萌生了想要拿node.js当后台,来布置网站的想法。 关于node.js的学习,建议参考 Node.js 包教不包会 ,虽然作者说起来是不包会,但基本上通过了这个教程的学习,都会收益巨大。 
        先说说前期准备,一个云服务器是必须的 ,还有一个域名。关于云服务的选择,当前阿里,百度, 甚至是腾讯都在搞云服务,个人还是推荐选择阿里云服务器比较好。
        
        既然提到阿里云,索性多说一点(有兴趣的使用阿里云的同学可以多交流交流 ),在与阿里云的连接过程,我一般使用的工具:
一般高手直接用个命令就好了,但目前本渣,还是毕竟喜欢两个相结合的用,毕竟有时候文件和文件夹的增删改查还是觉得拖拽更快,高手请无视。。 在阿里云中,选择的是centos7,当然这个凭自己的喜好,像Ubuntu我也用过一会,感觉它的桌面端确实不错,服务端可能还是centos更强一点。
步骤
注:这里就默认大家已经会自己连接到自己的服务器了
express快速启动
这里先说说express,它是基于 Node.js 平台,快速、开放、极简的 web 开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
        
        相对于,类似于各种框架的cli,express也有个能够快速部署的项目,可以使用 Express 应用生成器
通过如下命令安装:
  npm install express-generator -g
        
如下, 一个快速构建的示例
express myapp
// 以下是提示:
create : myapp
create : myapp/package.json
create : myapp/app.js
create : myapp/public
create : myapp/public/javascripts
create : myapp/public/images
create : myapp/routes
create : myapp/routes/index.js
create : myapp/routes/users.js
create : myapp/public/stylesheets
create : myapp/public/stylesheets/style.css
create : myapp/views
create : myapp/views/index.jade
create : myapp/views/layout.jade
create : myapp/views/error.jade
create : myapp/bin
create : myapp/bin/www
然后安装所有依赖包:
cd myapp
npm install
启动这个应用:
  npm start
        
然后在浏览器中打开 http://localhost:3000/ 网址就可以看到这个应用了。通过 Express 应用生成器创建的应用一般都有如下目录结构:
.
├── app.js
├── bin
│ └── www
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.pug
├── index.pug
└── layout.pug 7 directories, 9 files
express路由
express的重要的一部分莫过于路由了,下面是一个简单的路由例子,很好理解:
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('root');
}); // 匹配 /about 路径的请求
app.get('/about', function (req, res) {
res.send('about');
}); // 匹配 /random.text 路径的请求
app.get('/random.text', function (req, res) {
res.send('random.text');
});
res.send()中一般都是响应的数据,里面也可以写相对应的html标签,至于更详细的可以去查看express的api 
    更加好的处理是使用res.render()的方法,这个可以把html分离出来,根据模板引擎的不同,可以选择
- pug
 - handlebars
 - 或者你也可以使用 express-handlebars
 
在express快速生成的项目中,默认的是pug引擎,可以将它修改成自己喜欢的模板引擎
可能很大一部分人并不喜欢用模板引擎去处理,毕竟html原生并不复杂,这样可以使用ejs转换
最后
最后有个用express快速生成,并把默认的pug模板改成了html,有兴趣的可以参考下
注意:因为涉及到框架比较多,所以先拆开来讲,未完待续……………………………………………………
node.js后台快速搭建在阿里云(一)(express篇)的更多相关文章
- node.js后台快速搭建在阿里云(二)(pm2和nginx篇)
		
前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署, ...
 - 使用Node.js+Socket.IO搭建WebSocket实时应用
		
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...
 - (转)使用Node.js+Socket.IO搭建WebSocket实时应用
		
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...
 - KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
		
koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...
 - Node.js博客搭建
		
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...
 - Node.js  API快速入门
		
Node.js API 快速入门 一.事件EventEmitter const EventEmitter = require('events'); class MyEmitter extends Ev ...
 - 小白从零开始阿里云部署react项目+node服务接口(一:阿里云服务器)
		
准备阿里云服务器,并安装系统 如果没用自己服务器可以购买一个 https://www.aliyun.com/minisite/goods?userCode=x7i5glgc 初级购买一个1核2G的主机 ...
 - Linux虚拟机中 Node.js 开发环境搭建
		
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...
 - KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
		
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
 
随机推荐
- ssh连接异常:read from socket failed connection reset by peer
			
我出现这个问题的原因是:之前将/etc的权限设为777, 这是一个错误的操作!!然后我把权限修改过来(chmod 400 /etc) 重启服务(/bin/systemctl restart ssh.s ...
 - 【HTML】dl dt dd
			
摘要 看到没怎么使用过的html 标签,记录下 定义 dl 类似于 ul ,无任何样式,自定义列表容器, ul 为无序列表容器,ol 为有序列表容器 dt dd 类似于 li ,无任何样式,为帮助实现 ...
 - 仿PC版微信的练手项目(可实时通讯)
			
仿PC版微信的DEMO 本项目是由一个仿PC版微信的vue前端项目,和一个使用leancloud进行数据存储的.提供WebSocket的node后端项目构成. 本项目使用的技术栈:vue + vue- ...
 - XRD 数据处理:使用 Origin 进行多谱图对比
			
如果一个实验制备了 4 种不同条件下的样品,并分别测得了它们的 XRD 衍射谱图,那么在数据处理中如何用 Origin 软件得到一张多谱图对比的图呢? 样品间的谱图对比 如果只是谱图样品间对比(以 4 ...
 - ABP+AdminLTE+Bootstrap Table权限管理系统第八节--ABP错误机制及AbpSession相关
			
上一节我们讲到登录逻辑,我做的登录逻辑很简单的,我们来看一下abp module-zero里面的登录代码. #region Login / Logout public ActionResult Log ...
 - 教你用python写:HDU刷题神器
			
声明:本文以学习为目的,请不要影响他人正常判题 HDU刷题神器,早已被前辈们做出来了,不过没有见过用python写的.大一的时候见识了学长写这个,当时还是一脸懵逼,只知道这玩意儿好屌-.时隔一年,决定 ...
 - Java 架构师之路(1)
			
本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员 ...
 - windows下Ubuntu虚拟机联网配置 + Ubuntu虚拟机代理配置
			
Ubuntu虚拟机网络连接方式设置: http://blog.csdn.net/u013052460/article/details/50039937 or http://www.gezila.com ...
 - win10*64+vs2015+opencv3.0工程模板配置
			
参考网上的资料,自己再次整合一下,为新手提供个方便,也为自己备份. 一.下载安装opencv3.0 1.首先下载opencv3.0的包(windows版本的) 2.安装opencv,路径自己选好,自动 ...
 - IIS下防止mdb数据库被下载的实现方法
			
第一种方法:要求网站管理人员具体asp编程经验.因为现在的销售虚拟主机的系统,已经为用户建立了一个database目录,跟web目录同一个级别,用户访问的是web中的文件,而无法访问database目 ...