节点js - 较少的css找不到要导入的文件

时间:2012-01-17 18:28:24

标签: node.js less

我在public/stylesheets中有两个Less文件。我使用Express.js将它们作为CSS文件提供。

第一个文件one.less如下所示:

@import "another.less";

h1 {
    color: red;
}

第二个文件another.less如下所示:

p {
    color: red;
}

当我尝试加载页面时,服务器退出并显示错误:

file 'another.less' wasn't found.

我也尝试了绝对路径,但它没有用。

这是我的Express.js配置:

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }))
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

2 个答案:

答案 0 :(得分:3)

您现在应该使用 connect-less 。 实际上,你在上面使用的原始较少的编译器是连接的一部分,如果你查看当前的问题列表,你会看到TJ选择不再支持连接,因为编译器太不同了(一个“不能让每个人都开心”的案例):

https://github.com/senchalabs/connect/pull/174

您可以在此处查找无连接: https://github.com/MartinodF/connect-less

我会在这里安装安装步骤,但要了解它们可能会过时(如果这不起作用,请查看github页面,并告诉我并且我会同步):

  

使用NPM安装无连接

     

npm install connect-less

     

然后在您的应用中加载它,指定源(和可选的目标)目录

     

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

对于我来说,在带有expressjs 2.5.2和节点6.6的armv7 / Trimslice linux盒子上,这完美无缺。

答案 1 :(得分:2)

编辑: '@import“/ public / stylesheets / two”;'

原始提案不起作用。