Javascript 什么需要(';express';)返回?

Javascript 什么需要(';express';)返回?,javascript,node.js,express,Javascript,Node.js,Express,我是Node.js的新手,如果这太明显,我很抱歉 我知道“require”的基本功能是读取javascript文件,执行该文件,然后返回exports对象 var app = require('express')(); 现在,我可以做一些事情,比如app.set('view engine','html'),app.get()等 那么,什么是app以及它如何融入web应用程序的大局?app是一个包含模块提供的所有功能的对象。 如果您想了解更多信息,请尝试 console.log(app);

我是Node.js的新手,如果这太明显,我很抱歉

我知道“require”的基本功能是读取javascript文件,执行该文件,然后返回exports对象

var app = require('express')();
现在,我可以做一些事情,比如
app.set('view engine','html')
app.get()


那么,什么是
app
以及它如何融入web应用程序的大局?

app是一个包含模块提供的所有功能的对象。
如果您想了解更多信息,请尝试

 console.log(app);

您需要快速模块。它基本上是一个对象,其方法是Express。这些功能可以通过
app.
访问,如
app.set
。您可以
console.log(app.set)
以字符串形式查看
set
函数

此代码输出Express对象:

var express = require('express')
var app = express()

console.log(app)
输出:

{ [Function]
  init: [Function],
  defaultConfiguration: [Function],
  lazyrouter: [Function],
  handle: [Function],
  use: [Function: use],
  route: [Function],
  engine: [Function],
  param: [Function],
  set: [Function],
  path: [Function],
  enabled: [Function],
  disabled: [Function],
  enable: [Function],
  disable: [Function],
  get: [Function],
  post: [Function],
  put: [Function],
  head: [Function],
  delete: [Function],
  options: [Function],
  trace: [Function],
  copy: [Function],
  lock: [Function],
  mkcol: [Function],
  move: [Function],
  purge: [Function],
  propfind: [Function],
  proppatch: [Function],
  unlock: [Function],
  report: [Function],
  mkactivity: [Function],
  checkout: [Function],
  merge: [Function],
  'm-search': [Function],
  notify: [Function],
  subscribe: [Function],
  unsubscribe: [Function],
  patch: [Function],
  search: [Function],
  connect: [Function],
  all: [Function],
  del: [Function],
  render: [Function],
  listen: [Function],
  setMaxListeners: [Function: setMaxListeners],
  emit: [Function: emit],
  addListener: [Function: addListener],
  on: [Function: addListener],
  once: [Function: once],
  removeListener: [Function: removeListener],
  removeAllListeners: [Function: removeAllListeners],
  listeners: [Function: listeners],
  request: { app: [Circular] },
  response: { app: [Circular] },
  cache: {},
  settings:
   { 'x-powered-by': true,
     etag: 'weak',
     'etag fn': [Function: wetag],
     env: 'development',
     'query parser': 'extended',
     'query parser fn': [Function],
     'subdomain offset': 2,
     'trust proxy': false,
     'trust proxy fn': [Function: trustNone],
     view: [Function: View],
     views: '<<<<<obfuscated>>>>>>>',
     'jsonp callback name': 'callback' },
  engines: {},
  _events: { mount: [Function] },
  locals:
   { settings:
      { 'x-powered-by': true,
        etag: 'weak',
        'etag fn': [Function: wetag],
        env: 'development',
        'query parser': 'extended',
        'query parser fn': [Function],
        'subdomain offset': 2,
        'trust proxy': false,
        'trust proxy fn': [Function: trustNone],
        view: [Function: View],
        views: '<<<<<obfuscated>>>>>>>',
        'jsonp callback name': 'callback' } },
  mountpath: '/' }
{[函数]
init:[函数],
defaultConfiguration:[函数],
lazyrouter:[函数],
句柄:[函数],
use:[函数:use],
路线:[功能],
引擎:[功能],
参数:[函数],
set:[函数],
路径:[函数],
已启用:[功能],
已禁用:[功能],
启用:[功能],
禁用:[功能],
get:[函数],
职位:[职能],
put:[功能],
总目:[职能],
删除:[函数],
选项:[函数],
跟踪:[函数],
复制:[函数],
锁:[函数],
mkcol:[函数],
move:[函数],
清除:[功能],
propfind:[函数],
proppatch:[函数],
解锁:[功能],
报告:[职能],
mkactivity:[函数],
签出:[函数],
合并:[函数],
“m-search”:[函数],
通知:[功能],
订阅:[函数],
取消订阅:[功能],
补丁:[函数],
搜索:[函数],
connect:[函数],
全部:[功能],
德尔:[函数],
render:[函数],
听:[函数],
setMaxListeners:[函数:setMaxListeners],
emit:[函数:emit],
addListener:[函数:addListener],
在:[函数:addListener],
once:[函数:once],
removeListener:[函数:removeListener],
removeAllListeners:[函数:removeAllListeners],
侦听器:[函数:侦听器],
请求:{app:[循环]},
响应:{app:[循环]},
缓存:{},
设置:
{'x-powered-by':正确,
etag:'弱',
“etag fn”:[函数:wetag],
环境:"发展",,
“查询分析器”:“扩展”,
'查询分析器fn':[函数],
“子域偏移”:2,
“信任代理”:false,
'信任代理fn':[函数:trustNone],
视图:[函数:视图],
视图:“>>”,
“jsonp回调名称”:“回调”},
引擎:{},
_事件:{mount:[函数]},
当地人:
{设置:
{'x-powered-by':正确,
etag:'弱',
“etag fn”:[函数:wetag],
环境:"发展",,
“查询分析器”:“扩展”,
'查询分析器fn':[函数],
“子域偏移”:2,
“信任代理”:false,
'信任代理fn':[函数:trustNone],
视图:[函数:视图],
视图:“>>”,
“jsonp回调名称”:“回调”},
装入路径:'/'}