More Related Content
PPT
PPTX
PDF
Progressive Mobile Web Apps PDF
PDF
PDF
Node.js: scalability tips - CityJS 2020 PDF
PDF
What's hot
PDF
Introduction to Service Worker PDF
Where to start refactoring? KEY
PDF
jQuery - Javascript para quem não sabe Javascript KEY
PDF
PPTX
PDF
PPTX
PPTX
Александр Кашеверов «Пара слов о веб - приложениях и что такое Gulp» PPTX
JavaScript frameworks, libraries and tools PPTX
PDF
PPT
PDF
PPT
PPTX
GRUNT - The JavaScript Task Runner PDF
Node.js をさりげなく取り入れた 最近のフロントエンド事情について PDF
Основы CSS препроцессоров и их использование в WordPress Node.js and Web.js
- 1.
- 2.
- 3.
- 4.
Web.js Node.js 前端们,回想下当年你做页面的时候,因为各种原因,使页面 Block 住的情景吧! 再回想下 Ajax 一直在等待服务器的回答,但是因为服务器突然挂掉,而使到正在使用中的页面没有任何动作的情景吧! - 5.
- 6.
Web.js Node.js var http = require( 'http' ), fs = require( 'fs' ), url = require( 'url' ); var server = http. createServer (function ( req , res ) { var filePath = url. parse (req. url ). pathName ; fs. readFile (filePath, function ( err , data ) { res. writeHead ( 200 , { 'Content-type' : 'text/plain' }); res. write ( data ); res. end (); }); }); server. listen ( 8888 ); - 7.
- 8.
Web.js Node.js var express = require( 'express' ), app = express. createServer (); app. configure (function(){ app. use (express. static ( __dirname )); }); app. listen ( 8888 ); - 9.
- 10.
- 11.
- 12.
- 13.
Web.js 可以脱离 NPM(Node.jspackage manager) 安装, Web.js 不需要利用编译器进行编译,可以直接复制到应用目录使用。 Express 需要利用 NPM 调用 C++ 编译器进行编译,而且 C++ 部分并不是性能做优化,而只是为了生成一个 CLI(command-line interface) ,因为 Express 的语法复杂,开发者在每一个应用开始编写的时候要做的准备工作很多。 而 Web.js 的语法非常简单,不需要太多的记忆,完全是 JavaScript 的基础语法。 Web.js Node.js - 14.
var express= require( 'express' ), app = express. createServer (); app. get ( '/:year/:mouth/:day/:id.jpg' , function ( req , res ) { res. sendFile (req. params . year + '-' + req. params . mouth + '-' + req. params . day + '-' + req. params . id + '.jpg' ); }); app. get ( '/:action' , function (req, res) { var action = req. params . action ; res. send ( 'Your action is ' + action); }); Web.js Node.js - 15.
var web= require( 'webjs' ), urlRouter = { '/:year/:mouth/:day/:id.jpg' : '$1-$2-$3-$4.jpg' }, getRouter = { '/:action' : function ( req , res ) { res. send ( 'Your action is ' + req. path . action ); } }; web. run ( urlRouter , 8888 ) . get ( getRouter ); Web.js Node.js Web.js - 16.
Web.js Node.js RequestServer POST GET PostRouter PostHandler UrlRouter GetRouter Response File System Redirect GetHandler - 17.
- 18.
- 19.
Web.js Node.js var web = require( 'webjs' ), mongoose = require( 'mongoose' ), config = require( './config' ); var Item = new mongoose. Schema ({ title: String , status: Number }); mongoose. model ( 'Item' , Item ); Item = mongoose. model ( 'Item' ); var getRouter = { 'getItems' : function ( req , res ) { Item. find ({}, function ( err , items ) { res. sendJSON ( items ); }); } }, postRouter = { 'addItem' : function ( req , res ) { new Item({ ...... }). save (function ( err ) { ...... }); }, ...... }; web. run ({}, config . www . port ) . get ( getRouter ) . post ( postRouter ); - 20.
- 21.
Web.js Node.js Web.js的 API 是全裸的 Node.js 原生代码可以无缝迁移 //Node.js 官方 Hello World var http = require( 'http' ); http. createServer (function ( req , res ) { res. writeHead ( 200 , { 'Content-Type' : 'text/plain' }); res. end ( 'Hello World\n' ); }). listen ( 1337 , "127.0.0.1" ); //Web.js var web = require( 'webjs' ); web. run ({}, 1337 , '127.0.0.1' ) . get ({ '/' : function (req, res) { res. end ( 'Hello World\n' ); //res.send('Hello World'); } }); - 22.
Web.js Node.js 别小看Node.js , Node.js 也是 CMS 潜力股! 上传文件 var postRouter = { 'upload' : function ( req , res ) { fs. writeFile ( 'somefile.txt' , //file name req. data . upload , //file data function ( err ) { //callback if ( err ) return res. send ( 'Upload failed' ); res. send ( 'Upload successed' ); }); } } * 基于 node-formiable express 原生不支持文件上传 - 23.
- 24.
- 25.
Web.js Node.js SenchaTouch + Web.js MongoDB(Mongoose) | Node.js(Web.js) | JSONP | Front End (Sencha Touch) - 26.
Web.js Node.js var mongoose = require( "mongoose" ), …… web = require( "webjs" ); …… var Post = new mongoose. Schema ({ …… }); …… var getRouter = { "jsonData" : function (req, res) { Post. find ({}, function ( err , posts ) { res. sendJSON (req. qs . callback + '(' + JSON. stringify ( posts ) + ')' ); }) } }; web. run ({}, config. www . port , config. www . host ) . get (getRouter); Web.js + Mongoose - 27.
Web.js Node.js Ext.apply (mmq. views , { hotMsgInnerList: new mmq. views . HotMsgInnerList ({ store : new Ext. data . Store ({ id: 'store_hm' , model: 'mmq.models.HotMsg' , autoLoad: true , proxy : { type: 'scripttag' , url: 'http://localhost:8888/jsonData' , reader: { type: 'json' , root: 'data' }, } }) }) }); - 28.
EventProxy ( 朴灵 Jackson Tian) Jscex ( 老赵 Jeffrey) Backbone (Document Cloud) Underscore (Document Cloud) Mongoose (LearnBoost) MongoSkin ( 桂林 ) …… Web.js Node.js Friendly Modules - 29.