新建的项目结构应该是这样

bin:项目的启动文件,也可以放其他脚本。

node_modules:用来存放项目的依赖库。

public:用来存放静态文件(css,js,img)。

routes:路由控制器。

views:视图目录(相当于MVC中的V)。

app.js:项目入口及程序启动文件。

package.json:包描述文件及开发者信息。

-----------------------------------------------其他,自己创建使用------------------------------

models:数据模型(相当于MVC中的M)。

controllers:控制器,对请求的操作(相当于MVC中的C)。

tools:工具库。

config:配置目录。

test:测试目录。

README.md:项目说明文件。

app.js文件简单说明及设置app.js文件为启动文件。

//模块依赖

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');
var users = require('./routes/users');

//添加,导入http模块

var http=require('http');

var app = express();

//设置端口号

app.set('port', process.env.PORT || 3000);

//视图引擎设置
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

//加载环境变量
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

//加载路由

app.use('/', routes);
app.use('/users', users);

//启动及端口

http.createServer(app).listen(app.get('port'),

function(){
    console.log('Express server listening on port ' + app.get('port'));
});

//加载错误处理解决办法
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});
if (app.get('env') === 'development') {
  app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
      message: err.message,
      error: err
    });
  });
}
app.use(function(err, req, res, next) {
  res.status(err.status || 500);
  res.render('error', {
    message: err.message,
    error: {}
  });
});

//导出app对象
module.exports = app;

转载于:https://www.cnblogs.com/luoguixin/p/6120391.html

Node.js项目目录介绍相关推荐

  1. Node.js: NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  2. 带你开发一个完整的 node.js 项目

    「他们根本不知道,现在的电商大促有多么依赖 Node.js」任职阿里的架构师朋友这么说. 说真的,我倒并不意外.作为一个定位明确的高性能 Web 服务器,Node.js 非常火热,几乎霸占了前端生态. ...

  3. 部署Node.js项目(CentOS)

    原文链接 部署Node.js项目(CentOS) 驻云科技  2017-05-11 17:46:43  浏览334  评论1  发表于: 阿里云服务 >> 最佳实践 云栖社区 linux  ...

  4. 读《Node.js项目实践:构建可扩展的Web应用》 ——引编程慢慢变成系统化的“砌砖活”...

    读<Node.js项目实践:构建可扩展的Web应用> --引编程慢慢变成系统化的"砌砖活" 眼里的Node.JS 初初接触node是一年前的事,那时候年少不更事.还在纠 ...

  5. Node.JS项目实战网盘系统-李游Leo-专题视频课程

    Node.JS项目实战网盘系统-110人已学习 课程介绍         Node.JS是一套使用JavaScript语言的后台.它执行Javascript的速度非常快,性能非常好.是近几年来火的公司 ...

  6. Node.js项目实践:构建可扩展的Web应用

    2019独角兽企业重金招聘Python工程师标准>>> Node.js项目实践:构建可扩展的Web应用 <Node.js项目实践:构建可扩展的Web应用>用专业的讲解方式 ...

  7. WebStorm中Node.js项目配置教程(1)——创建项目

    Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...

  8. 有没有办法为Node.js项目自动构建package.json文件

    本文翻译自:Is there a way to automatically build the package.json file for Node.js projects Is package.js ...

  9. 白鹭[egret]项目目录介绍)

    白鹭[egret]项目目录介绍 前言 一.游戏项目目录 1. egretProperties.json说明 二.使用步骤 1.引入库 2.读入数据 需要免费游戏源码的请微信搜索/扫码下方小程序 扫描下 ...

最新文章

  1. 为什么我抛弃了 Ubuntu?
  2. 全链路跟踪系统设计与实践(转载)
  3. 如何禁止用户名,密码自动填充
  4. 将 iOS 应用的体积控制在 20MB 以内对于其下载量有很明显的影响吗?
  5. GPS基站架设完整操作流程
  6. 长大了Java! 提出Java桌面版
  7. html5自动把某个层放在屏幕底部,告诉你一个将 footer 保持在底部的最好方法
  8. python3 正则表达式 嵌套表格_python 正则表达式处理表格
  9. Leetcode题目:Merge Sorted Array
  10. 管理者你是否在让你的员工瞎忙
  11. 【Echarts】堆积柱状图
  12. QQ微信可以上网,但是浏览器上不了网怎么办?
  13. 北京最最最牛的IT公司都在这了 。。。
  14. 为什么要来学习算法?写在英雄的5月集训月末
  15. IT男最新躺枪:武汉恋爱培训班教搭讪女孩技巧 学员多为IT男
  16. 签电子合同的流程是怎样的
  17. 短信推广的规则,你知道多少?
  18. 12星座的出生年月日性格_12星座的出生年月以及性格分析 复制的也可以
  19. 防灾科技学院图书馆大数据分析,2018读书报告丨来看一下谁是全年的阅读之星?
  20. 2008年中国富豪榜今日发布,以下为富豪榜101-200名

热门文章

  1. 关于阿里基础设施,你要知道的都在这里
  2. 首次公开!菜鸟弹性调度系统的架构设计
  3. 【蓝桥杯省赛】冲刺练习题【循环】倒计时【15】天
  4. 数据结构之链表创建一元多项式,求一元多项式之和
  5. ajax的交互流程有哪几步
  6. python获取当前路径下所有文件
  7. 深入理解 python 中的赋值、引用、拷贝、作用域
  8. 去 IOE,MySQL 完胜 PostgreSQL
  9. expdp和impdp的用法详解
  10. linux uname 命令 打印系统信息