Express详细配置说明.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Express详细配置说明Express详细配置说明Express详细配置说明

Express详细配置说明 express.js继承自connect模块,所以如果你的node_modules文件夹下没有connect模块也是不行的。 设置views路径和模板 我们再来看下面两行: app.set(views,?__dirname?+?/views);?app.set(view engine,?jade); 上面两行是设置views文件夹,即模板文件夹,__dirname是node.js里面的全局变量,即取得执行的js所在的路径,另外__filename是目前执行的js文件名。所以,app.set(‘views’, __dirname + ‘/views’);是设置views的文件夹。 而app.set(view engine, jade);是设置express.js所使用的render engine。除了Jade之外,express.js还支持EJS(embedded? HYPERLINK http://js8.in/category/front-end/javascript-front-end-2 \o javascript javascript)、Haml、CoffeScript和 HYPERLINK http://js8.in/tag/jquery \o jQuery jQuerytemplate等js模板。 app.use配置 app.use(express.bodyParser());?app.use(express.methodOverride());?app.use(app.router);app.use(express.static(__dirname?+?/public)); express.bodyParser()是Connect內建的middleware,设置此处可以将client提交过来的post请求放入request.body中。 express.methodOverride()也是Connect內建的,可以协助处理POST请求伪装PUT、DELETE和其他HTTP methods。 app.router()是route requests,但express.js的官方文件是这句可有可无,并且经过测试还真的是这样,不过还是写上吧。 express.static()也是一个Connect內建的middleware来处理静态的requests,例如css、js、img文件等。所以static()里面指定的文件夹中的文件会直接作为静态资源吐出来。 app.configure设置 app.configure(development,?function(){?app.use(express.errorHandler({?dumpExceptions:?true,?showStack:true?}));?});?app.configure(production,?function(){?app.use(express.errorHandler());?}); express.errorHandler()是Connect內建的middleware来協助處理例外。這裡也揭露了app.configure()的令一个用法,第一个參數是node.js的環境設定,如此我們就可以設定在不同的執行環境使用不同程度的dump。PS:node.js是透過NODE_ENV這个環境變數来取得環境設定,e.g.:在命令列,NODE_ENV=production node app.js就可以進入production環境。 路由和request的处理 ok,下面是nodejs处理request的内容: app.get(/,?function(req,?res){?res.render(index,?{?title:?Express?});?}); 上面的代码意思是,get请求根目录则调用views文件夹中的index模板,并且传入参数title为“Express”,这个title就可以在模板文件中直接使用。 在express中要处理post请求,需要使用app.post()。如下面的代码: app.post(/add,?function(req,res){?res.render(add,?{?sum:?req.body.a?+?req.body.b?});?}); 前面我们提到了req.body是express.bodyParser()把POST参数处理后的结果。 另外除了get和post方法,还有app.all()意思就是所有的请求处理。 添加listen,启动nodejs服务器 app.listen(3000);?console.log(?Express server listening on port %d in

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档