开启第一个Node.js的Express项目
手动创建一个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项目的更多相关文章
- Node.js基于Express框架搭建一个简单的注册登录Web功能
这个小应用使用到了node.js bootstrap express 以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注 ...
- 如何设计一个基于Node.js和Express的网站架构?
前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队.业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来.确定目标后我们就开始考虑如果构建一个企业网站.先是进行业内调查,看 ...
- 如何快速搭建一个 Node.JS 项目并进入开发?
了解:如何快速搭建一个项目并进入开发? 在此不概述 Node.JS 的历史以及发展过程. 因为之前接触过通过 Java 开发语言,所以明确地知道一个服务器所需的文件,以及一个服务器所需要的操作. 那么 ...
- Node.js、express、mongodb 入门(基于easyui datagrid增删改查)
前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验 ...
- Node.js与Sails~项目结构与Mvc实现
回到目录 Sails是一个Node.js的中间件架构,帮助我们很方便的构建WEB应用程序,网址:http://www.sailsjs.org/,它主要是在Express框架的基础上发展起来的,扩展了新 ...
- 运行第一个Node.js程序
初学Node.js,萌新一枚.感觉Node.js挺不错的,从基础开始一步一步来,加油吧! 我们来使用Node.js的express来运行第一个程序helloworld: 在命令提示符键入express ...
- Node.js系列-express(上)
前言 Node.js系列的第一篇:http,大概描述了通过使用node.js内置的api创建一个服务并监听request实现简单的增删改查.现在,我们就通过通读express官网及使用express框 ...
- node.js使用express框架进行文件上传
关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...
- 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 ...
随机推荐
- Entity Framework——记录执行的命令信息
有两种方法可以记录执行的SQl语句: 使用DbContext.Database.Log属性 实现IDbCommandInterceptor接口 一 使用DbContext.Database.Log属性 ...
- PHP页面间的参数传递
我们定义page01.php和page02.php两个php文件,将page01中的内容想办法传递到page02,然后供我们继续使用.--------------------------------- ...
- Redis 设置开机启动
1. 将下列代码保存为文件redis, 置于 /etc/init.d 下面 ########################### # chkconfig: 2345 90 10 redis服务必须在 ...
- AES-256加密解密
/// <summary> /// AES-256加密 /// </summary> /// <param name="toEncrypt">& ...
- C语言老司机学Python (四)
字符串格式化: 可以使用类似c语言中sprintf函数的方法进行格式化,但是函数名称是print() 如:print('常量 PI 的值近似为:%5.3f.' % var_PI) 注意var_PI ...
- 用Node.JS+MongoDB搭建个人博客(model目录)(三)
model目录主要是封装一些经常使用的方法,便于使用. setting.js文件: 很简单,就单单封装了一个url作为公用,以后改就方便改了. md5.js(不推荐用): db.js文件: db.js ...
- WaitForSingleObject函数
WaitForSingleObject函数 VC声明 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); VB声明 D ...
- Java之split()方法
Java之split()方法 1.方法介绍 (1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 (2)public String[] s ...
- freemarker报错之五
1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgrError: Lexical e ...
- Error Code: 1305. FUNCTION student.rand_string does not exist
1.错误描述 13:52:42 call new_procedure Error Code: 1305. FUNCTION student.rand_string does not exist 0.0 ...