1

我对 CoffeeScript 很陌生。我正在尝试使用 Express.js 框架创建 Node.js 应用程序。在我的快速应用程序配置中,这行代码编译错误:

app.use express.static path + '/public'

它正在编译:

app.use(express["static"](path + '/public'));

当我需要这样的时候:

app.use(express.static(path + '/public'));

有谁知道为什么会发生这种情况以及如何解决这个问题?它导致我的公用文件夹无法访问。

我正在使用 CoffeeScript 1.3.1

4

3 回答 3

6

static可能是 javascript/ecmascript 未来版本中的保留字。就像top现在一样。因此,将其用作变量名可能会在某处导致错误。

这就是为什么咖啡试图避免它。

但它们是等价的,因此请尝试在其他地方查找错误。

于 2012-05-09T02:20:34.457 回答
2

它们是等价的,不用担心。

于 2012-05-09T02:07:05.240 回答
0

Express 框架使用“serve-static”模块导出静态方法:

exports.static = require('serve-static');

您可以尝试像这样解决您的问题:

app.use '/static', require('serve-static')(__dirname + '/static')

或覆盖模块中的静态方法。

于 2014-03-14T12:59:57.837 回答