文档章节

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

珲少
 珲少
发布于 2016/11/27 12:15
字数 799
阅读 713
收藏 0
点赞 0
评论 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

 

© 著作权归作者所有

共有 人打赏支持
珲少

珲少

粉丝 836
博文 375
码字总数 440447
作品 0
上海
iOS工程师
全 Javascript 的 Web 开发架构:MEAN

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

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

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

伯乐在线
2014/02/18
0
0
这绝对是有史以来最详细的web前端学习攻略

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

学习web前端
2017/10/12
0
0
从零开始使用express搭建博客系统(一):前期环境构建与代码初始化

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

Darrell
02/10
0
0
Node.js与Ruby on Rails 谁最适合Web开发?

  【IT168 资讯】本文将介绍并比较Node.js和Ruby on Rails在Web技术方面的一些优点和缺点。      先看看两种技术的一些相同之处。   * 受欢迎的服务器端技术   * 容易学习   * 高...

it168网站
2017/11/06
0
0
细谈Node.js----我的笔记

学习心得 如何利用Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。N...

crossmix
2016/01/04
221
0
用 MongoDB + Express + NodeJS 搭建博客

最近刚新搭了一个博客,用的是 MongoDB + Express + NodeJS ,为啥标题这么长不直接用 MEAN.JS 代替,因为为了熟悉整个流程并没有使用 MEAN.JS,而且我也没有带上任何的前端框架,因为前端用...

ArcoIris
2016/06/01
407
0
如何打造一个令人愉悦的前端开发环境(三)

往期回顾 前面2期都讲得是浏览器端的东西比较多,包括Webpack,虽然是Node处理的,但是还是浏览器端用的多,对于现在的前端开发来说,不懂一点服务端的东西,简直没办法活,一般的招聘要求都...

乖小鬼YQ
2017/11/29
0
0
Web 使用gulp构建前端项目

对于现在的前端开发来说, 比起之前jQuery时期真心方便很多, 自从ES6的更新后, 更是进一步加快了前端开发的脚步, 并有统一天下的趋势, 随之而出的React / React-Native, Vue / Weex (Vue-Nat...

Castie1
2017/09/04
0
0
基于Vue全家桶制作的的高仿美团APP

鸣谢:该项目核心部分参考了慕课网精英讲师ustbhuangyi的课程,其余部分高仿美团APP构建。 前端菜鸟项目,大佬们轻喷~ 美团外卖APP 👉 项目演示地址:http://39.108.232.27:9000 👉 GitH...

白小明
2017/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring boot中swagger2使用

1.pom.xml中添加 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>......

说回答
10分钟前
0
0
tomcat虚拟路径的几种配置方法

tomcat虚拟路径的几种配置方法 一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_ho...

Helios51
22分钟前
1
0
Mac 安装jupyter notebook的过程

MAC台式机 python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setuptools 工具:sudo pip install setuptools==33.1.1 3.安装......

火力全開
28分钟前
0
0
导航守卫解释与例子

“导航”表示路由正在发生改变。 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。 记住...

tianyawhl
28分钟前
0
0
Java日志框架-logback配置文件多环境日志配置(开发、测试、生产)(原始解决方法)

说明:这种方式应该算是最通用的,原理是通过判断标签实现。 <!-- if-then form --> <if condition="some conditional expression"> <then> ... </then> </if> ......

浮躁的码农
42分钟前
1
0
FTP传输时的两种登录方式和区别

登录方式 匿名登录 用户名为: anonymous。 密码为:任何合法 email 地址。 授权登录 用户名为:用户在远程系统中的用户帐号。 密码为:用户在远程系统中的用户密码。 区别 匿名登录 只能访问...

寰宇01
43分钟前
0
0
plsql developer 配置监听(不安装oracle客户端)

plsql developer 配置监听(不安装oracle客户端)

微小宝
50分钟前
2
0
数据库(分库分表)中间件对比

本人的宗旨就是,能copy的,绝对不手写。 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索...

奔跑吧代码
54分钟前
2
0
Netty与Reactor模式详解

在学习Reactor模式之前,我们需要对“I/O的四种模型”以及“什么是I/O多路复用”进行简单的介绍,因为Reactor是一个使用了同步非阻塞的I/O多路复用机制的模式。 I/O的四种模型 I/0 操作 主要...

hutaishi
今天
1
0
【2018.07.16学习笔记】【linux高级知识 20.16-20.19】

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

lgsxp
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部