如何在sails.js中使用.less文件?

时间:2014-01-23 22:44:04

标签: javascript twitter-bootstrap less sails.js

我正在阅读http://sailsjs.org/#!documentation/assets,但我不知道如何使用.less文件。

我在assets / linker / styles /

中放了vairables.less和bootswatch.less

我预计grunt会编译这两个文件,但它没有,我在浏览器控制台中遇到错误:

GET http://localhost:5000/linker/styles/bootstrap-responsive.css 404 (Not Found) (index):14
GET http://localhost:5000/linker/styles/bootstrap.css 404 (Not Found) (index):15
GET http://localhost:5000/linker/js/jquery.js 404 (Not Found) (index):29
GET http://localhost:5000/linker/js/socket.io.js 404 (Not Found) (index):30
GET http://localhost:5000/linker/js/sails.io.js 404 (Not Found) (index):31
GET http://localhost:5000/linker/js/app.js 404 (Not Found) (index):32
GET http://localhost:5000/linker/js/bootstrap.js 404 (Not Found) 

如果删除两个.less文件,它可以正常工作。 我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

如果您使用的是最新版本的Sails.js,请将.less文件放在assets / styles目录下,并将其包含在importer.less文件中,如下所示:

/**
 * importer.less
 *
 * By default, new Sails projects are configured to compile this file
 * from LESS to CSS.  Unlike CSS files, LESS files are not compiled and
 * included automatically unless they are imported below.
 *
 * The LESS files imported below are compiled and included in the order
 * they are listed.  Mixins, variables, etc. should be imported first
 * so that they can be accessed by subsequent LESS stylesheets.
 *
 * (Just like the rest of the asset pipeline bundled in Sails, you can
 * always omit, customize, or replace this behavior with SASS, SCSS,
 * or any other Grunt tasks you like.)
 */



// For example:
//
// @import 'variables/colors.less';
// @import 'mixins/foo.less';
// @import 'mixins/bar.less';
// @import 'mixins/baz.less';
//
// @import 'styleguide.less';
// @import 'pages/login.less';
// @import 'pages/signup.less';
//
// etc.
@import 'custom.less';

答案 1 :(得分:3)

我决定不使用sails默认导入器。主要是因为我发现它很糟糕,太多基于配置超过约定。所以我根据约定优于配置创建了自己的动态资源加载器。

基本上,在我的,没有更多的事情可做,资产将根据控制器,控制器动作,主题和使用的布局来应用。它仍然使用LESS。

这是一个基于风帆0.10.5的简单项目: https://github.com/Vadorequest/sails-dynamic-assets