`
starbhhc
  • 浏览: 654420 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

2.nodejs 使用Express4.x搭建第一个Web应用

 
阅读更多

Express4.x

是一个开源的node.js项目框架,初学者使用express可以快速的搭建一个Web项目,express中已经集成了Web的http服务器创建、请求和文件管理以及Session的处理等功能,所以express是非常适合初学者的入门学习。

 首先,我们需要安装express库。在Express3.6.x之前的版本,Express需要全局安装的,项目构建器模块是合并在Express项目中的,后来这个构建器被拆分出来,独立成为了一个项目express-generator,现在我们只需要全局安装express-generator项目就行了。

 

 npm安装的时候区分本地模式安装和全局模式安装,“-g”就表示全局模式安装,这种模式会被安装在node安装目录的lib所在目录的node_modules文件夹中,全局使用。

 

npm安装express , -g 指令让express进入全局安装:

 npm install -g express

如果是express 4.0之前版本,那么执行“express -V”就可以得到版本号了,可express 4.0之后还需要再安装express-generator包,如果没有安装还执行“express -V”命令会报错。

npm install -g express-generator

现在执行“express -V”可查看express版本信息了。

安装好express-generator包后,我们在命令行就可以使用express命令了。

接下来,我们使用express的命令,来创建项目了。

 

cd C:\Users\Administrator  # 进入工作目录
 C:\Users\Administrator>express -e nodejs-demo  # 创建项目

进入项目目录,下载依赖库,构建项目。

C:\Users\Administrator>cd nodejs-demo && npm install

启动项目。

 C:\Users\Administrator\nodejs-demo>npm start
> express4-demo@0.0.0 start D:\workspace\javascript\nodejs-demo
> node ./bin/www

module.js:338
    throw err;
          ^
Error: Cannot find module './routes/users'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object. (D:\workspace\javascript\nodejs-demo\app.js:9:13)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

第一次启动发生了错误,可能是express-generator和express不匹配造成的,找到问题在app.js文件中,注释第9行和第26行。


..
//var users = require('./routes/users');
..
//app.use('/users', users);       
..

再次启动项目。

 

D:\workspace\javascript\nodejs-demo>npm start
> express4-demo@0.0.0 start D:\workspace\javascript\nodejs-demo
> node ./bin/www

项目启动成功,打开浏览器 http://localhost:3000,就可以看到显示的页面了。

启动方式为:1. npm start  2.debug (DEBUG=nodejs-demo ./bin/www)

Express4中引入了著名的debug模块,所以debug模式让我们更方便的玩转Node中的模块,其使用方法介绍起来较长,建议大家看看其官方的介绍:https://www.npmjs.org/package/debug

 

 

 默认PORT其实3000,俺手动修改后使用的是8898端口, 修改文件在./bin/www中。

第5行,app.set('post',process.env.PORT || 8988);

 

 

文件目录解析

  • app.js,程序启动文件
  • bin,创建项目时已经提到,是真实的执行程序
  • node_modules, 存放所有的项目依赖库
  • package.json,项目依赖配置及开发者信息
  • public,静态文件(css,js,img) 
  • routes,路由文件
  • views,页面文件

 

在Nodejs项目中,package.json文件用来声明项目基本信息和使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行npm install命令即可按照所需要的模块啦。

 

 package.json的解释:

  • name
    ~ 在package.json中最重要的就是name和version字段。他们都是必须的,如果没有就无法install;
    ~ 想好名字之前先去npm registry查看一下这个名字是否已经被使用了,http://registry.npmjs.org/
  • version
    ~ version必须能被 node-semver解析,它被包在npm的依赖中;
    ~ name和version一起组成的标识在假设中是唯一的。改变包应该同时改变version
  • private
    ~ 如果你设置"private": true,npm就不会发布它;
    ~ 这是一个防止意外发布私有库的方式。如果你要确定给定的包是只发布在特定registry(如内部registry)的,用publishConfighash的描述来重写registry的publish-time配置参数
  • scripts
    ~ “scripts”是一个由脚本命令组成的hash对象,他们在包不同的生命周期中被执行。key是生命周期事件,value是要运行的命令。
  • dependencies
    ~ 依赖是给一组包名指定版本范围的一个hash。这个版本范围是一个由一个或多个空格分隔的字符串。依赖还可以用tarball或者git URL

  以上五项仅仅是Express4 package.json使用的,其他细节可参考文档 https://www.npmjs.org/doc/files/package.json.html

 

 

 

 

 

分享到:
评论

相关推荐

    vue+nodejs+express+mybatis

    这个项目案例结合了前端的Vue.js框架、后端的Node.js与Express框架,以及数据库操作的MyBatis持久层框架,构建了一个完整的Web应用程序。下面将分别详细介绍这四个技术的核心概念、用途及它们如何协同工作。 **Vue....

    express-todolist_nodejs_Node.js_goodgka_express列表_

    【标题】"express-todolist_nodejs_Node.js_goodgka_express列表_" 指的是一款使用Node.js和Express框架构建的待办事项(Todo List)应用。这个项目旨在展示如何利用这两个技术来创建一个简单的前端列表展示页面,让...

    微博系统。使用nodejs+express4+mongodb技术进行开发。.zip

    本项目聚焦于一个微博系统的开发,利用先进的Web开发技术——Node.js、Express4框架以及NoSQL数据库MongoDB,构建了一个高效、灵活的微博应用。本文将详细阐述这三大技术在项目中的应用及其核心知识点。 首先,Node...

    nodejs + express +mysql 电影项目第一期

    在本项目中,我们主要探讨的是使用Node.js、Express框架以及MySQL数据库构建一个电影相关的Web应用的第一阶段。这个项目旨在教你如何将这三个技术结合起来,创建一个功能完善的后端系统,以便用户可以浏览、搜索和...

    nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

    标题中的“nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)”指的是使用Node.js的Express框架与Vue.js的CLI工具来创建一个支持跨域的前后端分离应用。这种模式在现代Web开发中非常常见,能够使前端...

    使用NodeJS、Express、Peerjs、Socket.io构建的视频聊天应用程序_JavaScript.zip

    在这个项目中,我们探讨的是如何使用Node.js、Express、Peer.js和Socket.io构建一个实时的视频聊天应用程序。这个技术组合提供了高效、灵活且实时的网络通信能力,是现代Web开发中的常见选择。以下是对这些技术及其...

    Nodejs学习笔记.rar

    2. **非阻塞I/O**:Node.js的另一个关键特性是非阻塞I/O操作。在处理大量并发请求时,这种机制能有效利用系统资源,避免了线程切换带来的开销。 3. **模块系统**:Node.js采用CommonJS模块规范,允许开发者将代码...

    深入理解nodejs中Express的中间件.docx

    **Express** 是一个流行的基于 Node.js 的 web 应用开发框架,它简化了 web 应用的开发流程,提供了丰富的 API 来帮助开发者快速搭建服务器端应用程序。Express 的核心特点之一便是其强大的 **中间件** 支持。 **...

    深入浅出Nodejs(朴灵)

    8. **中间件(Middleware)**:在Web开发中,Node.js的Express框架引入了中间件概念,它们按顺序执行,形成一个处理请求的链条,简化了Web应用的架构设计。 9. **性能优化**:Node.js提供了许多工具和技术来优化...

    nodejs+express实现文件上传下载管理网站

    2. Express框架: Express是一个轻量级的Web应用框架,为Node.js提供了丰富的Web应用和网站开发功能,使得Node.js开发Web应用更为方便。 3. 文件上传下载: 文件上传和下载功能是网站中常见的需求之一,通过Node.js和...

    基于Nodejs+express+mongodb编写的一套内容管理系统

    通过Express,开发者可以快速搭建RESTful API,构建功能丰富的Web应用。 【MongoDB】 MongoDB是一个面向文档的分布式数据库,支持JSON-like文档结构,适合处理大量的半结构化数据。它采用灵活的数据模型,允许快速...

    NodeJS8 从入门到精通(视频教程)

    01-第一个 NodeJS8 快速上手小案例.mp4 02-利用NodeJS8 读取文件提作.mp4 03-NodeJS8异步读取服务器数据mp4 04-NodeJs8 完整读取视图文件mp4 05-利用Express第三方框架快速搭建NodeJS8 Web服务器.mp4 06-NodeJS8中的...

    用node.js建博客(一) - node.js安装及Express框架简介

    在本教程中,我们将探索如何使用Node.js搭建一个博客系统,这是系列的第一部分,主要涉及Node.js的安装以及Express框架的基础知识。Node.js是一个开放源码、跨平台的JavaScript运行环境,它允许开发者在服务器端运行...

    nodejs中的express.pdf

    Express是Node.js平台上的一个轻量级Web应用框架,它为开发者提供了构建Web应用程序和API的强大工具。Express基于Connect中间件系统,使得处理HTTP请求、响应以及中间件的使用变得非常简便。 首先,我们来看看如何...

    学习nodejs所创建的第一个express项目,使用mysql数据库,简单的用户与管理员登录注册demo.zip

    在本项目中,我们探索了如何使用...通过这个项目,你可以学习到如何用Node.js和Express搭建web应用,以及如何与数据库交互实现用户登录注册功能。这是一个很好的起点,为进一步学习和实践Node.js和Web开发打下基础。

    nodejs_install.zip_nodejs

    安装这个版本的Node.js后,你可以直接使用内置的npm来安装和管理各种常用的模块,例如Express.js(一个用于构建Web应用程序的框架)、MongoDB驱动(用于与MongoDB数据库交互)或者axios(一个用于HTTP请求的库)等,...

    基于NodeJs+Express+Mysql前后端分离宠物用品购物网站设计源码.zip

    本项目“基于Node.js+Express+MySQL实现前后端分离的宠物用品购物网站设计”就是这样的一个实例,通过使用JavaScript全栈技术栈,构建了一个功能完备的在线购物平台,专为宠物爱好者提供宠物用品服务。 Node.js,...

    nodejs-express-sample:基于 Node.js Express 框架构建的示例单页 Web 应用程序

    **Node.js与Express框架...通过学习和实践"nodejs-express-sample"项目,你可以深入了解Node.js和Express的使用,并具备构建自己的Web应用的能力。这不仅有助于提升JavaScript技能,还有助于理解Web开发的整体流程。

    13课 NodeJS基础-第4天-{ Node.js框架 }.rar

    这个13课的NodeJS基础课程聚焦于第4天的主题——Node.js框架,这通常意味着将介绍如何利用框架来简化和加速Node.js应用的开发。 在Node.js的世界里,框架扮演着至关重要的角色,它们提供了预设的结构、工具和最佳...

Global site tag (gtag.js) - Google Analytics