【发布时间】:2012-05-30 16:02:34
【问题描述】:
在最终将 LESS 编译到一个 Node.js 应用程序中并在咖啡上运行 express 之后,我遇到了一个问题,我似乎没有想法了:
对 LESS 文件的更改不会调用 express 调用的 LESS 编译器的重新渲染。
在我的主 app.coffee 文件中,可以找到(按此顺序)
app.use exp.compiler { src: __dirname + '/public', dest: __dirname + '/public', enable: ['less'] }
app.use exp.methodOverride()
app.use exp.bodyParser()
app.use exp.cookieParser()
app.use exp.static __dirname + '/public'
之后,添加会话和中间件。
请求时未将 .less 文件重新编译为 .css 的问题在应用重启后仍然存在。
我尝试交换 exp.compiler 和 exp.static 行,但除了第一个客户端请求发生的情况(简而言之,css 文件已呈现但未交付)之外,没有任何改变。
删除 .css 文件显然会使代码将 .less 重新编译为 .css,但这不是我想象的编译器那样。还有什么我可以做的吗?
【问题讨论】:
-
我会建议你使用命令行
lessc程序,但它似乎也没有手表模式。 -
大胆猜测,但请尝试检查您的文件权限并将编译器行放在
express.static之前 -
这对重新编译也没有影响。我想我可能会写一个解决方法,在启动主应用程序文件之前删除所有 css 文件。但这看起来更像是一个 hack,而不是一个解决方案。
标签: node.js coffeescript express less