gpt4 book ai didi

node.js - 更改了 LESS 文件不会在 Node/express/coffee 设置中自动重新编译

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:39 25 4
gpt4 key购买 nike

最终将 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'

之后,添加 session 和中间件。

应用重新启动后,未在请求时将 .less 文件重新编译为 .css 的问题仍然存在。

我尝试交换 exp.compilerexp.static 行,但是除了第一个客户端请求(简而言之,css 文件)发生的情况之外,没有任何改变已渲染但未交付)。

删除 .css 文件显然会得到将 .less 重新编译为 .css 的代码,但这不是我想象的那样的编译器。我还能做些什么吗?

最佳答案

// Environment Respective Less Watch Script
if (app.settings.env === 'development') {
var stylesheets = fs.readdirSync(path.join(__dirname, 'views', 'stylesheets')).filter(function(f) {
return f.match(/\.less$/);
});
stylesheets.forEach(function(f) {
fs.watchFile(path.join(__dirname, 'views', 'stylesheets', '/' + f), function(c, p) {
if (c.mtime.getTime() !== p.mtime.getTime()) {
// Remove the existing CSS file
fs.unlinkSync(path.join(__dirname, 'public', 'stylesheets', 'bootstrap.css'));
console.log(' Successfully removed existing stylesheet for recompiling');
}
});
});
}

关于node.js - 更改了 LESS 文件不会在 Node/express/coffee 设置中自动重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com