前期准备

简介

嗯……我只是个前端而已


前段时间写过一个.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分离出来,根据模板引擎的不同,可以选择

在express快速生成的项目中,默认的是pug引擎,可以将它修改成自己喜欢的模板引擎

可能很大一部分人并不喜欢用模板引擎去处理,毕竟html原生并不复杂,这样可以使用ejs转换

最后

最后有个用express快速生成,并把默认的pug模板改成了html,有兴趣的可以参考下

express小demo

注意:因为涉及到框架比较多,所以先拆开来讲,未完待续……………………………………………………

node.js后台快速搭建在阿里云(一)(express篇)的更多相关文章

  1. node.js后台快速搭建在阿里云(二)(pm2和nginx篇)

    前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署, ...

  2. 使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  3. (转)使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  4. KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun

    koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ...

  5. Node.js博客搭建

    Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...

  6. Node.js API快速入门

    Node.js API 快速入门 一.事件EventEmitter const EventEmitter = require('events'); class MyEmitter extends Ev ...

  7. 小白从零开始阿里云部署react项目+node服务接口(一:阿里云服务器)

    准备阿里云服务器,并安装系统 如果没用自己服务器可以购买一个 https://www.aliyun.com/minisite/goods?userCode=x7i5glgc 初级购买一个1核2G的主机 ...

  8. Linux虚拟机中 Node.js 开发环境搭建

    Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...

  9. KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架

    koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...

随机推荐

  1. Ubuntu彻底删除/卸载mysql,php,apache

    一.卸载删除 mysql 1 sudo apt-get autoremove --purge mysql-server-5.02 sudo apt-get remove mysql-server3 s ...

  2. VerilogHDL常用的仿真知识

    在描述完电路之后,我们需要进行对代码进行验证,主要是进行功能验证.现在验证大多是基于UVM平台写的systemverilog,然而我并不会sv,不过我会使用verilog进行简单的验证,其实也就是所谓 ...

  3. js中常用的日期总结

    js开发中经常用到日期,这里总结一下: /** * 获取当前日期 * 格式:2017-07-31 13:45:14 */ function getNowFormatDate() { var date ...

  4. Spring事务管理的另一种方式--TransactionTemplate编程式事务管理简单入门

    1, 一直以来, 在用Spring进行事物管理时, 只知道用声明式的策略, 即根据不同的数据源, 配置一个事物管理器(TransactionManager), 通过配置切面(PointCut)应用到相 ...

  5. VM虚拟机中安装Linux操作系统

    本文操作步骤,笔者已实验成功 (前提:正确安装VM并激活) 1,点击新建虚拟机,在页面上选择"自定义",点击下一步 2,进入选择虚拟机硬件兼容页面,这里一般不用操作,直接点击下一步 ...

  6. HTML5基本知识点

    一.什么是HTML HTML是超文本标签语言,即网页的源码.而浏览器就是翻译解释HTML源码的工具. 二.HTML的基本格式 <!DOCTYPE html>: ①文档类型声明:让浏览器按照 ...

  7. 《奇思妙想》在JavaScript语言中floor和round方法在某种随机分配场景下对分配区间的公平性!!!

    前言 大欢哥的题目完成了,但是衍生出一个新的问题!上篇随笔中我和大欢哥采用的随机数生成方式,到底是谁的比较公平??? 正文 欢迎来到阿段博客<奇思妙想>!我们的口号是 “心有多大,bug就 ...

  8. 实例甜点 Unreal Engine 4迷你教程(5)之函数中的静态变量

    本小节的教程无前置教程,可直接学习,篇幅很短. 本教程浓缩起来就是一句话:函数中的静态变量在调试过程中保留值.所以需要谨慎对待. 什么意思?请先不要一步一步对着做,而整体地看一遍下面的过程: 第一步: ...

  9. python3--网络爬虫--爬取图片

    网上大多爬虫仍旧是python2的urllib2写的,不过,坚持用python3(3.5以上版本可以使用异步I/O) 相信有不少人爬虫第一次爬的是Mm图,网上很多爬虫的视频教程也是爬mm图,看了某人的 ...

  10. MongoDB安全策略

    一,修改启动端口 mongo的默认端口为27017 如果启用的是27017端口并且在公网上很容易被人攻击,所以第一点我们要修改端口 sudo ./mongod --dbpath=/data/db -- ...