Nodejs4.x+express4.13.1入门 项目搭建及简单的路由控制
2016-04-18 14:55
453 查看
不得不说,Node.js发展是速度真是非常快,接下来,我分享自己的建立第一个node项目的经验。
需要的环境 -nodejs 4.4.2
最新的稳定版版的Node里面已经集成了npm和一些常用的框架,这无疑降低了我们学习的难度。
安装完Node后,在命令行输入
输入
建立第一个node+express项目
移动到想要建立项目的目录,因为我已经到了目录了,这里就不移动了。
在命令行中输入
folder 是指定的项目文件夹,可自己选名字,-e 是使用ejs引擎。
打开文件资源管理器,可以看见已经建好的node项目
启动项目
输入
确保cmd在项目的目录后, 输入
效果如下:
在浏览器中输入
因为我用了一些bootstrap样式,所以看起来好看一些。
那么,搭建项目和启动就到这里了,我们来看看路由控制。
来看看生成的app.js
很长的代码,app.js是node项目的入口,其中关于路由分配的主要代码如下。
拿index为例,访问
index.js文件:
可以看见,这里的index只控制了一个路由 ‘/’,若我们想在index内添加更多的路由规则,就需要进行一些修改。
在app.js最后加上
修改index.js
这样,访问
render参数的意思是调用ejs模板引擎渲染index.ejs 模板文件。
修改render的参数,调用不同的模板,达到路由控制的目的。
需要的环境 -nodejs 4.4.2
最新的稳定版版的Node里面已经集成了npm和一些常用的框架,这无疑降低了我们学习的难度。
安装完Node后,在命令行输入
node -v或
npm -v能查看查看nodejs和npm的版本。
输入
express -V(注意,这里的V大写) 能查看express的版本。
建立第一个node+express项目
移动到想要建立项目的目录,因为我已经到了目录了,这里就不移动了。
在命令行中输入
express -e folder
folder 是指定的项目文件夹,可自己选名字,-e 是使用ejs引擎。
打开文件资源管理器,可以看见已经建好的node项目
启动项目
输入
npm install,等待npm把该有的module导入进来。
确保cmd在项目的目录后, 输入
node app和
npm start
效果如下:
在浏览器中输入
127.0.0.1;3000就能看到搭好的项目的结果了。
因为我用了一些bootstrap样式,所以看起来好看一些。
那么,搭建项目和启动就到这里了,我们来看看路由控制。
来看看生成的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'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // uncomment after placing your favicon in /p 4000 ublic //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 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); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace 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 }); }); } // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app;
很长的代码,app.js是node项目的入口,其中关于路由分配的主要代码如下。
var routes = require('./routes/index'); var users = require('./routes/users'); var app = express();
app.use('/', routes); app.use('/users', users);
拿index为例,访问
127.0.0.1;3000就是访问了这个被定义了的路径,进入index.js文件。
index.js文件:
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router;
可以看见,这里的index只控制了一个路由 ‘/’,若我们想在index内添加更多的路由规则,就需要进行一些修改。
在app.js最后加上
routes(app);
修改index.js
var express = require('express'); var router = express.Router(); /* GET home page. */ module.exports = function (app) { app.get('/', function (req, res) { res.render('index', { title: 'Express' }); }); app.get('/test', function (req, res) { res.render('index', { title: 'Express' }); });
这样,访问
127.0.0.1:3000/test也能得到和之前一样的结果。
render参数的意思是调用ejs模板引擎渲染index.ejs 模板文件。
修改render的参数,调用不同的模板,达到路由控制的目的。
相关文章推荐
- There was an error pushing a new version to trunk: getaddrinfo: nodename nor servname provided, or n
- ubuntu 14.10 x64安装H3C iNode
- Node.js建站笔记-使用react和react-router取代Backbone
- webStorm 开启NodeJs Core library 使用
- Node.js中使用Markdown
- ERROR:格式化hdfs后,datanode只启动了一个
- WebSocket 学习(三)--用nodejs搭建服务器
- ENode 2.8 最新架构图简介
- leetcode 19. Remove Nth Node From End of List(链表)
- Node系列-koa2开发实践
- 9. Delete Node in a Linked List
- [LeetCode]19. Remove Nth Node From End of List
- node.js mongoose 插件
- Node.js模板引擎的深入探讨
- 3分钟干货学会使用node-inspector调试NodeJS代码
- Node中Exports与module.export的使用与区别
- Nodejs之express第三方核心模块的中间件——body-parser
- node模块的分类
- 使用supervisor提高nodejs开发效率
- node.js 学习笔记004:使用eventproxy控制并发