【Nodejs开发】第1章 述与环境搭建

发布时间:2020-05-25 02:14:44 作者:joveth
来源:网络 阅读:468


请关注我的小站:http://oideas.herokuapp.com/

1.自述

为什么要自述?嗯,先把一些东西说一说吧,首先,我不是什么大神,只是一个刚刚脱离了单身(毕业于2013年,脱于2014年2月8日)的苦B而已,对于nodejs的研究,加起来也不过两周而已,以前是搞java的(现在也是,随便搞搞而已),出于对node的好奇,花了半天时间研究了一下,然后...就有了然后....。那么为什么不是Oideas的demo相关blog,而是OMinds的blog呢?For,青出于蓝胜于蓝....更进一步而已。

另,本站的学习有很多地方参考了@nswbmw大神的blog,有想搭建blog的同学可参见TA的wiki

另,如果blog写的不好,请随便喷。

2.环境搭建

本站的环境
Node.js : 0.10.25
Express : 3.2.6
Mongodb : 2.4.9
开发工具
nodeeclipse
环境安装(如果环境已搭建,请跳过步骤) 以下皆在windows平台

3.新建工程

打开eclipse,新建 Node.js Express Project .名称为OMinds,Template Engine 选择ejs (其他模板自己研究),至此project已经ok了,在cmd下切换到你的项目目录输入 node app.js,如图:
【Nodejs开发】第1章 述与环境搭建
打开浏览器:http://localhost:3000/可以看到如下图:
【Nodejs开发】第1章 述与环境搭建

(注:另一种建项目的方法,直接新建项目名,cmd切换到项目的同级目录,如:项目为d:\OMinds,那么cmd切换到d盘即可,然后键入:express -e OMinds 安装成功后cd OMinds :npm install,两种方法均可)。


4.工程目录


【Nodejs开发】第1章 述与环境搭建
(该部分主要借鉴nswbmw大神的讲解)

app.js:启动文件,或者说入口文件
package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时,运行 npm install,npm 会检查当前目录下的 package.json,并自动安装所有指定的模块
node_modules:存放 package.json 中安装的模块,当你在 package.json 添加依赖的模块并安装后,存放在这个文件夹下
public:存放 p_w_picpath、css、js 等文件
routes:存放路由文件
views:存放视图文件或者说模版文件

打开 app.js,内容如下图:
【Nodejs开发】第1章 述与环境搭建
app.set('port', process.env.PORT || 3000):设置端口为 process.env.PORT 或 3000。
app.set('views', __dirname + '/views'):设置 views 文件夹为存放视图文件的目录,即存放模板文件的地方,dirname 为全局变量,存储当前正在执行的脚本所在的目录。
app.set('view engine', 'ejs'):设置视图模版引擎为 ejs。
app.use(express.favicon()):connect 内建的中间件,使用默认的 favicon 图标,如果想使用自己的图标,需改为app.use(express.favicon(dirname + '/public/p_w_picpaths/favicon.ico')); 这里我们把自定义的 favicon.ico 放到了 /public/p_w_picpaths 文件夹下。
app.use(express.logger('dev')):connect 内建的中间件,在开发环境下使用,在终端显示简单的日志,比如在启动 app.js 后访问 localhost:3000,终端会输出:


Express server listening on port 3000
GET / 200 21ms - 206b
GET /stylesheets/style.css 304 4ms>


假如你去掉这一行代码,不管你怎么刷新网页,终端都只有一行 Express server listening on port 3000。

app.use(express.bodyParser()):connect 内建的中间件,用来解析请求体,支持 application/json, application/x-www-form-urlencoded, 和 multipart/form-data。

app.use(express.methodOverride()):connect 内建的中间件,可以协助处理 POST 请求,伪装 PUT、DELETE 和其他 HTTP 方法。
app.use(app.router):调用路由解析的规则。
app.use(express.static(path.join(__dirname, 'public'))):connect 内建的中间件,设置根目录下的 public 文件夹为存放 p_w_picpath、css、js 等静态文件的目录。


if ('development' == app.get('env')) {  app.use(express.errorHandler());}


开发环境下的错误处理,输出错误信息。
app.get('/', routes.index):路由控制器,如果用户访问 / (主页),则由 routes.index 来处理,routes/index.js 内容如下:



exports.index = function(req, res){  res.render('index', { title: 'Express' });};

通过 exports.index 导出 index 函数接口,app.get('/', routes.index) 相当于:



app.get('/', function(req, res){  res.render('index', { title: 'Express' });});

以上的内容介绍均来自nswbmw大神,为什么我直接拿过来了呢,因为TA讲的却是很好,而且这一部分还是很有用的。 那么现在,app.js文件中删除:



app.get('/', routes.index);app.get('/users', user.list);

添加:routes(app);
并在index.js中修改为如下:



module.exports = function(app) {  app.get('/', function (req, res) {    res.render('index', { title: 'Express' });  });};

再次在cmd下启动服务,打开浏览器看一下,你会发现效果是一样的。
为什么要删掉上面两行代码呢,app.get('/users', user.list);//路由控制每加一个路由控制就要接一句app.get()或者是app.post(),当路由很多时,app.js里面的代码就会很多,不便于维护和修改。所以换一种写法,在index.js里面写路由控制。
以上是本章的主要内容,下一章开始建我们的OMinds。

源码已上传到git,点击这里下载

ideas-ominds交流群:158325682,有想要一起做的,或者有什么不懂的都可以找我哦。

第一次,blog写的不太好,后面会改进。。。。


推荐阅读:
  1. nodejs、mongodb、Subversion环境搭建
  2. 【Nodejs开发】第2章 网站首页的布局

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mongodb nodejs nodejs开发

上一篇:Apache工作模式介绍

下一篇:whatsup gold snmp安装脚本

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》