下载:https://www.jb51.net/books/750150.html

javascript参考手册中文版

express()
express()用来创建一个Express的程序。express()办法是express模块导出的顶层办法。
varexpress=require(‘express’);varapp=express();
Methods
express.static(root,[options])
express.static是Express中唯一的内建中间件。它以server-static模块为基础开发,负责托管Express运用内的静态资源。
参数root为静态资源的所在的根目录。
参数options是可选的,支持以下的特点:
假如你想取得更多关于运用中间件的细节,你能够查阅ServingstaticfilesinExpress。
Application()
app目标一般用来表示Express程序。经过调用Express模块导出的顶层的express()办法来创建它:
varexpress=require(‘express’);varapp=express();app.get(‘/’,function(req,res){res.send(‘helloworld!’);});app.listen(3000);
app目标具有以下的办法:
路由HTTP恳求;详细能够看app.METHOD和app.param这两个比方。
配置中间件;详细请看app.route。
烘托HTML视图;详细请看app.render。
注册模板引擎;详细请看app.engine。
它还有一些特点设置,这些特点能够改动程序的行为。取得更多的信息,能够查阅Applicationsettings。
Properties
app.locals
app.locals目标是一个javascript目标,它的特点便是程序本地的变量。
app.locals.title//=>’MyApp’app.locals.email//=>’me@myapp.com’
一旦设定,app.locals的各特点值将贯穿程序的整个生命周期,与其相反的是res.locals,它只在这次恳求的生命周期中有用。
在程序中,你能够在烘托模板时运用这些本地变量。它们对错常有用的,能够为模板供给一些有用的办法,以及app级别的数据。经过req.app.locals(详细检查req.app),Locals能够在中间件中运用。
app.locals.title=’MyApp’;app.locals.strftime=require(‘strftime’);app.locals.email=’me@myapp.com’;
app.mountpath
app.mountpath特点是子程序挂载的途径形式。
一个子程序是一个express的实例,其能够被用来作为路由句柄来处理恳求。
varexpress=require(‘express’);varapp=express();//themainappvaradmin=express();//thesubappadmin.get(‘/’,function(req,res){console.log(admin.mountpath);///adminres.send(‘AdminHomepage’);});app.use(‘/admin’,admin);//mountthesubapp
它和req目标的baseUrl特点比较类似,除了req.baseUrl是匹配的URL途径,而不是匹配的形式。假如一个子程序被挂载在多条途径形式,app.mountpath便是一个关于挂载途径形式项的列表,如下面比方所示。
“`varadmin=express();admin.get(‘/’,function(req,res){console.log(admin.mountpath);//[‘adm*n’,’/manager’]res.send(‘AdminHomepage’);});varsecret=express();secret.get(‘/’,function(req,res){console.log(secret.mountpath);///secr*tres.send(‘Adminsecret’);});admin.use(‘secr*t’,secret);//loadthe’secret’routeron’/secr*t’,onthe’admin’subappapp.use([‘/adm*n’,’/manager’],admin);//loadthe’admin’routeron’/adm*n’and’/manager’,ontheparentapp
Events
app.on(‘mount’,callback(parent))
当子程序被挂载到父程序时,mount事件被发射。父程序目标作为参数,传递给回调办法。
varadmin=express();admin.on(‘mount’,function(parent){console.log(‘AdminMounted’);console.log(parent);//referstotheparentapp});admin.get(‘/’,function(req,res){res.send(‘AdminHomepage’);});app.use(‘/admin’,admin);
Methods
app.all(path,callback[,callback…]
app.all办法和标准的app.METHOD()办法类似,除了它匹配所有的HTTP动词。
关于给一个特别前缀映射一个全局的逻辑处理,或许无条件匹配,它是很有用的。例如,假如你把下面内容放在所有其他的路由定义的前面,它要求所有从这个点开端的路由需求认证和自动加载一个用户。记住这些回调并不是一定是结尾:loadUser能够在完成了一个使命后,调用next()办法来持续匹配随后的路由。

java

app.all(‘*’,requireAuthentication,loadUser);
或许这种持平的形式:
app.all(‘*’,requireAuthentication);app.all(‘*’,loadUser);
另一个比方是全局的白名单办法。这个比方和前面的很像,但是它仅仅约束以/api开头的途径。
app.all(‘/api/*’,requireAuthentication);
app.delete(path,callback[,callback…])
路由HTTPDELETE恳求到有特别回调办法的特别的途径。获取更多的信息,能够查阅routingguide。
你能够供给多个回调函数,它们的行为和中间件一样,除了这些回调能够经过调用next(‘router’)来绕过剩下的路由回调。你能够运用这个机制来为一个路由设置一些前提条件,假如不能满意当时路由的处理条件,那么你能够传递控制到随后的路由。
app.delete(‘/’,function(req,res){res.send(‘DELETErequesttohomepage’);});
app.disable(name)
设置类型为布尔的设置名为name的值为false,此处的name是appsettingstable中各特点的一个。调用app.set(‘foo’,false)和调用app.disable(‘foo’)是等价的。
比方:
app.disable(‘trustproxy’);app.get(‘trustproxy’);//=>false
app.disabled(name)
回来true假如布尔类型的设置值name被禁用为false,此处的name是appsettingstable中各特点的一个。
app.disabled(‘trustproxy’);//=>trueapp.enable(‘trustproxy’);app.disabled(‘trustproxy’);//=>false
app.enable(name)
设置布尔类型的设置值name为true,此处的name是appsettingstable中各特点的一个。调用app.set(‘foo’,true)和调用app.enable(‘foo’)是等价的。
app.enable(‘trustproxy’);app.get(‘trustproxy’);//=>true
app.enabled(name)
回来true假如布尔类型的设置值name被发动为true,此处的name是appsettingstable中各特点的一个。
app.enabled(‘trustproxy’);//=>falseapp.enable(‘trustproxy’);app.enabled(‘trustproxy’);//=>true
app.engine(ext,callback)
注册给定引擎的回调,用来烘托处理ext文件。
默许情况下,Express需求运用require()来加载基于文件扩展的引擎。例如,假如你测验烘托一个foo.jade文件,Express在内部调用下面的内容,一起缓存require()成果供随后的调用,来加速性能。
app.engine(‘jade’,require(‘jade’).__express);
运用下面的办法关于那些没有供给开箱即用的.__express办法的模板,或许你期望运用不同的模板引擎扩展。
比方,运用EJS模板引擎来烘托.html文件:
app.engine(‘html’,require(‘ejs’).renderFile);
在这个比方中,EJS供给了一个.renderFile办法,这个办法满意了Express规矩的签名规矩:(path,options,callback),但是记住在内部它仅仅ejs.__express的一个别号,所以你能够在不做任何事的情况下直接运用.ejs扩展。
一些模板引擎没有遵从这种标准,consolidate.js库映射模板引擎以下面的运用方法,所以他们能够无缝的和Express工作。
更多参考:https://baijiahao.baidu.com/s?id=1722435004578826993&wfr=spider&for=pc

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注