在expressjs 4.x中编译更less的文件到css

我想在expressjs应用程序的公共文件夹中编译较less的文件。

我正在使用的依赖关系是

"devDependencies": { "ejs": "^2.3.1", "express": "^4.10.6", "mysql": "^2.5.4" }, "dependencies": { "less": "^2.5.1", "less-middleware": "^2.0.1" } 

内容在styles.less文件

 header { background-image: url('../img/bg.png'); height: 380px; input#searchBox { width: 100%; height: 70px; } } 

服务器文件如下所示

 var express = require('express'); // call express var app = express(); // define our app using express app.use(require('less-middleware')('public')); // Public folder app.use(express.static('public')); 

在服务器上运行时,文件不会被修改。

 Remote Address:127.0.0.1:3000 Request URL:http://localhost:3000/css/styles.less Request Method:GET Status Code:304 Not Modified 

这里有什么错误。

目录结构: 在这里输入图像描述

编辑:

 header { background-image: url('../img/bg.png'); height: 380px; #cloud-tag span { color: #fff; font-weight: 800; letter-spacing: 2px; } #cloud-tag_word_0 { font-size: 100px !important; } } 

我添加了这个CSS在较less的文件,它被发送到浏览器相同的格式,而不被编译。

您必须请求css文件,而不是较less的文件,在您的情况下http://localhost:3000/css/styles.css不是http://localhost:3000/css/styles.less 。 中间件将把你要求的文件编译成较less的文件。

看起来像你启动中间件来expression可能是问题。 使用“__dirname +”/ public“”表示文件夹。