文档章节

使用Express快速搭建前端项目框架

珲少
 珲少
发布于 2016/11/27 12:15
字数 799
阅读 791
收藏 0

使用Express快速搭建前端项目框架

    Express是基于Node.js的前端Web开发框架,使用其可以简洁快速的创建健壮友好的API服务。在前端或移动端的开发过程中,可以借助Express的这项功能模拟API数据,方便开发调试。

    Express是基于Node.js平台的,因此在安装Express之前,需要先安装Node.js。使用如下命令来检查系统中所安装的node版本:

node -v

如果系统中没有安装Node.js,可以在如下网站进行下载安装:

https://nodejs.org/en/

    创建一个测试工程目录,用于存放Express项目框架,首先在终端,使用如下命令进行Express的全局安装:

npm install express-generator -g

需要注意,很多时候国内网络使用npm的时候会非常慢,可以通过如下命令来修改仓库源。

npm install -g cnpm --registry=https://registry.npm.taobao.org

之后使用cnpm来进行包的安装:

cnpm install express-generator -g

    安装好Express后,在新建的文件夹目录下,执行Express的初始化:

express

如果文件夹不为空,会提示是否继续操作,输入yes后回车即可。

    初始化完成后的Express项目结构如下:

其中会默认创建一个package.json文件,其中会添加许多依赖包,在项目目录中执行如下命令来安装这些依赖:

npm install

依赖安装完成后,工程中会多一个node_modules的文件夹,里面是所有依赖包文件。

    再来看Express模板中的文件,其中bin文件夹下面的www.js文件是服务的启动文件,其中启动了HTTP的服务,默认端口为3000。routes文件夹下面的文件用于配置api路由,默认有index.js与users.js两个。app.js文件中对api进行了初始化与配置。可以在users.js中添加一个测试api如下:

var express = require('express');
var router = express.Router();

/* 这个是默认生成的. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});
/* 添加一个测试api*/
router.get('/testAPi',function(rep,res,next){
  res.send('{name:jaki,age:24}');
});
module.exports = router;

在项目目录下通过终端执行如下命令来将服务开启:

node bin/www

如果服务启动成功,在浏览器输入http://127.0.0.1:3000/users/testAPi会返回我们send()方法传递的字符串。

小提示:MacOS系统在服务进行中,可以使用control+c来释放端口的监听,如果不小心使用control+z或者关闭了终端,会导致所监听端口的无法释放,下次如果再次启动node服务,会报Port 3000 is already in use的错误,可以使用如下方法来进行所监听端口的释放:

首先使用如下命令查看所有监听某个端口的服务,例如3000端口:

sudo lsof -i:3000

之后终端会将服务名与进行id告诉我们,如下:

COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    829  vip   13u  IPv6 0x9c3536500e84e203      0t0  TCP *:hbci (LISTEN)

使用如下命令来杀死对应进程即可:

 sudo kill -9 829

 

© 著作权归作者所有

共有 人打赏支持
珲少

珲少

粉丝 857
博文 384
码字总数 452377
作品 0
上海
iOS工程师
私信 提问
全 Javascript 的 Web 开发架构:MEAN

引言 最近在Angular社区的原型开发者间,一种全Javascript的开发架构MEAN正突然流行起来。其首字母分别代表的是:(M)ongoDB——NoSQL的文档数据库,使用JSON风格来存储数据,甚至也是使用JS来...

疯狂的流浪
2014/04/02
4.5K
5
全Javascript的Web开发架构:MEAN和Yeoman

本文由伯乐在线 -华铭 翻译。未经许可,禁止转载! 英文出处:Addy Osmani。欢迎加入翻译组。 引言 最近在Angular社区的原型开发者间,一种全Javascript的开发架构MEAN正突然流行起来。其首字...

伯乐在线
2014/02/18
0
0
从零开始使用express搭建博客系统(一):前期环境构建与代码初始化

node 这里会有三篇文章,教你从零开始使用express搭建博客系统,每篇文章都很简单,希望大家看完文章能大致入门express。 一,安装node 直接在node官网进行下载,下载下来进行傻瓜式安装,安...

Darrell
02/10
0
0
nodejs:解决传统开发的前后端分离问题

最近接触到两个小项目,是用传统的开发方式,由服务端渲染页面,前端用到thymeleaf和jsp 虽然笔者也可以按照项目的架构搭一个阿帕奇服务器把java项目跑起来,但无疑是费时费力的,可能做完这...

小飞牛牛
08/31
0
0
这绝对是有史以来最详细的web前端学习攻略

  第一阶段:   HTML+CSS:   HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、   JavaScript基础:   Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、...

学习web前端
2017/10/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
20分钟前
0
0
I2C EEPROM驱动实例分析

上篇分析了Linux Kernel中的I2C驱动框架,本篇举一个具体的I2C设备驱动(eeprom)来对I2C设备驱动有个实际的认识。 s3c24xx系列集成了一个基于I2C的eeprom设备at24cxx系列。at24cxx系列芯片包...

yepanl
22分钟前
1
0
spring mvc拦截器,实现统计http请求的后台运行时间

使用两种方式,实现拦截http请求的后台运行时间。 废话不多说直接上代码 /** * Http请求时间统计 * 拦截所有请求 */public class HttpRquestTimeInterceptor extends HandlerIntercepto...

兜兜毛毛
39分钟前
2
0
设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
55分钟前
4
0

中国龙-扬科
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部