手动创建一个Express.js的应用可大致分为以下步骤:

1.创建文件夹

  a. 创建一个项目根文件夹,如helloWord

  b.在项目的根目录下创建项目的目录结构,依次创建{public,public/css,public/img,public/js,db,views,views/includes,routes}

  可使用命令:

mkdir  {public,public/css,public/img,public/js,db,views,views/includes,routes}

2.NPM初始化和配置package.json

  a.进入控制台,进入项目的根目录

  b.输入命令:npm init ,然后输入相关的一些参数,name,version,等可参考下面的package.json 文件

  c.使用命令:npm install express@4.1.2 --save

3.依赖声明

由于express.js是约定优于配置,也可直接在package.json中输入如下内容,然后运行npm install即可

{
"name": "helloworld",
"version": "0.0.1",
"description": "\"\"",
"main": "app.js",
"scripts": {
"start": "node app.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "4.1.2",
"jade":"1.3.1",
"mongoskin":"1.4.1",
"stylus":"0.44.0"
}
}

4.app.js项目启动文件配置

在根目录下创建项目起始文件app.js,打开app.js并编辑

对于app.js的配置文件主要涉及以下几个步骤:

   1)引入依赖,

//依赖引入
var express = require('express');
var http = require('http');
var path = require('path');

   2)设置相关配置

//实例化Express.js
var app = express();
//配置port、views、views engine
app.set('port',process.env.PORT || 3000);
app.set('views',path.join(__dirname,'views'));//这里的__dirname的下划线是两个英文下划线
app.set('view engine','jade');

   3)连接数据库(可选)

   4)定义中间件

   5)定义路由

//定义路由
app.all('/',function(req,res){
res.render('index',{msg:'Welcome to the practical Node.js!'});
});
app.get('/about',function(req,res){
res.end('about us');
});

   6)创建服务

//创建服务
http.createServer(app).listen(
app.get('port'),function (){
console.log('Express.js server listening on port '+app.get('port'));
}
);

开启服务之前,需要先在views文件夹中创建一个index.jade,代码如下:

h1 hello
p= msg

   7)开启服务

    在命令行输入:node app.js并在浏览器中输入http://localhost:3000/会得到:

在浏览器中输入http://localhost:3000/about会得到:

5.结合jade

6.运行项目

开启第一个Node.js的Express项目的更多相关文章

  1. Node.js基于Express框架搭建一个简单的注册登录Web功能

    这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...

  2. 如何设计一个基于Node.js和Express的网站架构?

    前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队.业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来.确定目标后我们就开始考虑如果构建一个企业网站.先是进行业内调查,看 ...

  3. 如何快速搭建一个 Node.JS 项目并进入开发?

    了解:如何快速搭建一个项目并进入开发? 在此不概述 Node.JS 的历史以及发展过程. 因为之前接触过通过 Java 开发语言,所以明确地知道一个服务器所需的文件,以及一个服务器所需要的操作. 那么 ...

  4. Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

    前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...

  5. Node.js与Sails~项目结构与Mvc实现

    回到目录 Sails是一个Node.js的中间件架构,帮助我们很方便的构建WEB应用程序,网址:http://www.sailsjs.org/,它主要是在Express框架的基础上发展起来的,扩展了新 ...

  6. 运行第一个Node.js程序

    初学Node.js,萌新一枚.感觉Node.js挺不错的,从基础开始一步一步来,加油吧! 我们来使用Node.js的express来运行第一个程序helloworld: 在命令提示符键入express ...

  7. Node.js系列-express(上)

    前言 Node.js系列的第一篇:http,大概描述了通过使用node.js内置的api创建一个服务并监听request实现简单的增删改查.现在,我们就通过通读express官网及使用express框 ...

  8. node.js使用express框架进行文件上传

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...

  9. Code Your First API With Node.js and Express: Set Up the Server

    How to Set Up an Express API Server in Node.js In the previous tutorial, we learned what the REST ar ...

随机推荐

  1. 软AP的实现------hostapd的编译运行

    最近要给摄像头做一个软ap,让手机能够连上这个热点,从而能够与摄像头进行通信. 1.什么是hostapd : hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能 ...

  2. 阿里巴巴分布式服务框架 Dubbo 介绍

    Dubbo是阿里巴巴内部的SOA服务化治理方案的核心框架,每天为2000+ 个服务提供3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点.Dubbo自2011年开源后, ...

  3. 3.数码相框-通过freetype库实现矢量显示

    本章主要内容如下: 1)矢量字体原理 2)使用freetype库实现矢量字体显示 1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示: 由于每个汉 ...

  4. HDU - 2160 递推

    思路:dp(i)表示第i天的猪的数量,g(i)表示第i天新出生的猪的数量,d(i) = d(i-1) * 2 - g(i-2), g(i) = d(i-1) AC代码 #include <cst ...

  5. elasticsearch分词器Jcseg安装手册

    Jcseg是什么? Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言 ...

  6. 内置函数值 -- chr() ord() -- 字符和ascii的转换

    英文文档: chr(i) Return the string representing a character whose Unicode code point is the integer i. F ...

  7. Redis实现数据库读写分离

    Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作 ...

  8. hi3531 SDK 编译 uboot, 修改PHY地址, 修改 uboot 参数 .

    一,编译uboot SDK文档写得比较清楚了,写一下需要注意的地方吧. 1. 之前用SDK里和别人给的已经编译好的uboot,使用fastboot工具都刷不到板子上.最后自己用SDK里uboot源码编 ...

  9. WINDOWS的错误代码对应的故障

    WINDOWS的错误代码对应的故障 0000 操作已成功完成. 0001 错误的函数. 0002 系统找不到指定的文件. 0003 系统找不到指定的路径. 0004 系统无法打开文件. 0005 拒绝 ...

  10. 如何让window.open()以post请求方式调用(巧妙解法)

    问题由来: 在公司遇到一个线上bug,如下 var url = 'http://106.75.31.215:8012/onlinePreview?url=' + encodeURIComponent( ...