“Express.js”的版本间的差异
来自tomtalk
(创建页面,内容为“==expressjs== Express是一款基于Node.js的高性能高级Web框架。 ;相关资源 *官网 http://expressjs.com/ *想看文档教程神马的,请到官网...”) |
(→expressjs) |
||
第84行: | 第84行: | ||
connect https://github.com/senchalabs/connect | connect https://github.com/senchalabs/connect | ||
+ | ==使用express生成一个空白网站== | ||
+ | ;express命令的使用 | ||
+ | <source lang="bash"> | ||
+ | Usage: express [options] | ||
+ | |||
+ | Options: | ||
+ | |||
+ | -h, --help output usage information | ||
+ | -V, --version output the version number | ||
+ | -s, --sessions add session support | ||
+ | -e, --ejs add ejs engine support (defaults to jade) | ||
+ | -J, --jshtml add jshtml engine support (defaults to jade) | ||
+ | -h, --hogan add hogan.js engine support | ||
+ | -c, --css add stylesheet support (less|stylus) (defaults to plain css) | ||
+ | -f, --force force on non-empty directory | ||
+ | </source> | ||
+ | |||
+ | ;生成网站 | ||
+ | <source lang="bash"> | ||
+ | $ express myapp | ||
+ | |||
+ | create : myapp | ||
+ | create : myapp/package.json | ||
+ | create : myapp/app.js | ||
+ | create : myapp/public | ||
+ | create : myapp/public/javascripts | ||
+ | create : myapp/public/images | ||
+ | create : myapp/public/stylesheets | ||
+ | create : myapp/public/stylesheets/style.css | ||
+ | create : myapp/routes | ||
+ | create : myapp/routes/index.js | ||
+ | create : myapp/views | ||
+ | create : myapp/views/layout.jade | ||
+ | create : myapp/views/index.jade | ||
+ | |||
+ | install dependencies: | ||
+ | $ cd myapp && npm install | ||
+ | |||
+ | run the app: | ||
+ | $ node app | ||
+ | </source> | ||
+ | |||
+ | 按照提示执行命令就可以了。打开http://localhost:3000/ 显示的是views/index.jade文件,有两行express的简短文字宣告。 |
2019年8月12日 (一) 12:02的版本
expressjs
Express是一款基于Node.js的高性能高级Web框架。
- 相关资源
- 官网 http://expressjs.com/
- 想看文档教程神马的,请到官网:http://expressjs.com
- Express的源码托管在这里:https://github.com/visionmedia/express
- Express使用了Connect中间件,Connect的文档在这里:http://senchalabs.github.com/connect/
- 如果你想做单元测试,可以看看TDD框架Expresso:http://visionmedia.github.com/expresso/
- Express可选的Jade模板引擎也挺有趣的,它和haml是亲戚,像是个HTML预编译器:http://jade-lang.com/
- 说到haml,你也可以了解下sass,它像一个CSS预编译器:https://github.com/visionmedia/sass.js
- 不过同类产品中,我更喜欢不那么激进的less:https://github.com/cloudhead/less.js
- 用npm安装express
$cd /usr/local/lib $npm install express
- 按照程序猿和攻城狮们的惯例,来个Hello World:
var express = require('/usr/local/lib/node_modules/express'); var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000);
- 使用mysql数据库的例子
//mysql var Client = require('/usr/local/lib/node_modules/mysql').Client; var client = new Client(); client.user = 'user'; client.password = 'password'; client.query('USE tiny_shop'); //express var express = require('/usr/local/lib/node_modules/express'); var app = express.createServer(); app.listen(3000); //action app.get('/', function(req, res){ res.send('Hello World'); }); app.get('/mysql', function(req, res){ client.query('SELECT * FROM tags', function selectCb(err, results, fields) { if (err) { throw err; } var data = ''; for (var i=0; i<results.length; i++) { var firstResult = results[i]; data += 'id: ' + firstResult['id']+'tag: ' + firstResult['tag']; } res.send(data); }); });
- 如何系统地学习 Express JS?
先从基础说起吧,Node.js使用javascript语言,所以JS的语法、特性及OO肯定要先掌握了,再学习node的api,特别需要领会事件驱动及异步编程的思想,这算是一个很大的转变,Node主要用于网络应用,所以网络编程内容多看下。
express是一个基于node的web框架(集成web服务器+mvc),当然其实不用框架,使用node自己弄一个web服务器和mvc框架也不是很麻烦(Node为网络而生,当然强大的不止这点),但是有优秀的express,封装了很多常用功能,推荐用。
学习express肯定是先把api过一遍,文档中的简单例子都试试,但这肯定是不够的,要深入了解还是得看源码,express主要依赖connect(基于node的http服务器框架,提供大量的中间件帮助用户构建强大灵活的web server),所以深入connect也是有必要的。
connect https://github.com/senchalabs/connect
使用express生成一个空白网站
- express命令的使用
Usage: express [options] Options: -h, --help output usage information -V, --version output the version number -s, --sessions add session support -e, --ejs add ejs engine support (defaults to jade) -J, --jshtml add jshtml engine support (defaults to jade) -h, --hogan add hogan.js engine support -c, --css add stylesheet support (less|stylus) (defaults to plain css) -f, --force force on non-empty directory
- 生成网站
$ express myapp create : myapp create : myapp/package.json create : myapp/app.js create : myapp/public create : myapp/public/javascripts create : myapp/public/images create : myapp/public/stylesheets create : myapp/public/stylesheets/style.css create : myapp/routes create : myapp/routes/index.js create : myapp/views create : myapp/views/layout.jade create : myapp/views/index.jade install dependencies: $ cd myapp && npm install run the app: $ node app
按照提示执行命令就可以了。打开http://localhost:3000/ 显示的是views/index.jade文件,有两行express的简短文字宣告。