我有一个问题,我需要像这样加载表达式:
var express = require('express');
var app = express();
为了让.static工作:
app.use(express.static(__dirname+'views'));
任何我不能使用速记的原因:
var app = require('express')();
当我尝试使用简写时,表示express.static未定义且我的脚本无法运行。这只是快递不支持的功能吗?
答案 0 :(得分:2)
我无法使用速记的任何理由:
var app = require(' express')();
如果您从脚本中考虑过此声明,
app.use(express.static(__dirname+'views'));
您正在使用快递的static
方法。要使用此方法,您必须先导入express
并将其存储在某些变量中,例如您执行
var express = require('express');
exports.static = require('serve-static');
static
在班级定义。
然后实例化它 像这样
var app = express();
获取对象级别(prototype)方法和属性的访问权限
app#use
app#engine
等。
来自express#application //line no 78
编辑:
但是为什么我不能使用app.static var app = require(' express'););
正如我所说,.static
是类级方法,而不是实例/对象(原型)级别。
所以,var app = require('express')()
你会得到没有 app.static 方法的快速实例/对象(原型)。所以,你不能使用。
答案 1 :(得分:1)
这将有效:const app = (() => require('express'))()();
但是你仍然需要express
本身,所以实际上并不需要两次。