节点js express.compiler错误

我目前正在开发一个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" 

而我正在使用节点版本0.8.7。 任何build议,可能会导致这个错误是不胜感激

Express的compiler中间件来自Connect框架,截至2011年7月,Connect不再包含compiler 。 所以做express.compiler(...)不工作了。

一个LESS特定的中间件已经被创build,Express现在使用它,如果你将它包含在你的启动configuration中。 express -c less将添加此行到configuration:

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

如果你有一个旧版本的Express和Connect,你可以添加less-middleware到你的package.json并添加上面的代码来使它工作。

它和原始编译器几乎一样,但是包含更多的细节和哨声。

较less的中间件项目存储库

感谢赫克托我解决了这个问题。 我有错误版本的快速安装和改变expression= 2.5.0从> = 2.5.0和重新安装依赖已经解决了这个问题,我现在能够运行应用程序。 谢谢