javascript - Node js Express.编译错误

标签 javascript node.js less express

我目前正在开发一个express.js Web应用程序,正在开发MS Webmatrix附带的样板应用程序。我可以在我的计算机上运行该应用程序,但是当我推送到 nodejitsu 或使用另一台从 git 获取该应用程序的计算机时,我收到阻止服务器启动的错误。

app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] })
                ^
TypeError: Object function createApplication() {
var app = connect();
utils.merge(app, proto);
app.request = { __proto__: req };
app.response = { __proto__: res };
app.init();
return app;
} has no method 'compiler'
at Function.<anonymous> (C:\Users\hoopdog2\Desktop\afterthoughts_nodejs\serv
er.js:197:21)
at Function.app.configure (C:\Users\hoopdog2\Desktop\afterthoughts_nodejs\no
de_modules\express\lib\application.js:399:61)
at Object.<anonymous> (C:\Users\hoopdog2\Desktop\afterthoughts_nodejs\server
.js:188:5)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

该应用程序使用的依赖项是

"node-uuid": ">= 1.3.3",
"everyauth": ">= 0.2.29",
"nconf": ">= 0.5.1",
"express": ">= 2.5.0",
"jade": ">= 0.18.0",
"less": ">= 1.1.5",
"socket.io": ">= 0.8.7",
"connect": ">=1.8.5",
"recaptcha": ">=1.1.0"

我正在使用 Node 版本 0.8.7。非常感谢任何有关可能导致此错误的原因的建议

最佳答案

Express 的编译器中间件来自 Connect 框架,自 2011 年 7 月起,Connect 不再包含编译器。因此,执行 express.compiler(...) 不再起作用。

已经创建了一个不太特定的中间件,如果您将其包含在启动配置中,Express 现在会使用它。 express -c less 会将这一行添加到配置中:

  app.use(require('less-middleware')({ src: __dirname + '/public' }));

如果您有旧版本的 Express and Connect,您可以将 less-middleware 添加到 package.json 中,并添加上面的行以使其正常工作。

它的工作原理与原始编译器几乎相同,但包含更多功能。

less-middleware project repository

关于javascript - Node js Express.编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055549/

相关文章:

css - LessCss - 即时扩展 css

html - 如何为 div 添加外圆 Angular ?

node.js - 如何用nodejs、express和less-middleware编译2种以上不同的LESS风格?

javascript - 处理类内的事件(原型(prototype))

javascript - 参数化 Angular 请求的优缺点

node.js - 如何更改 Node 版本? "Your requested " Node ”版本 "8"与您的全局版本 "10"不匹配

javascript - 在函数之间传递元数据

javascript - 使用 ScrollMagic 同步 Sprite 和滚动

javascript - 替换html5中文本框的输出文本

javascript - Nodejs Twilio API 3.x - messages.delete(...) 不是函数