如何使用less.js与node.js一起观看文件夹中的.less文件?

时间:2012-02-23 21:11:59

标签: node.js less watch

我正在寻找使用less.js和node.js在文件夹中设置服务器端观看和编译.less文件的简单指南。布莱恩在this post中写到了这一点。

不幸的是,lesscss.org上Server-side usage的说明对于node.js的新手来说有点小。

我尝试过使用命令行:$ lessc styles.less > styles.css

我也试过'看守'和'无视',这一切都有效。但是,我正在寻找一个纯node.js + less.js解决方案。我确信有人能够清楚地解释如何配置node.js和less.js来监视文件夹中的.less文件。谢谢。

7 个答案:

答案 0 :(得分:4)

我创建了演示项目来展示它是如何工作的。你可以在https://github.com/corpix/watcherDemo

找到它

克隆后进入项目目录并执行npm install以安装较少的Node.js模块。 尝试运行index.js并将.less文件更改为less_files/目录,修改后的文件将被编译并放入css_files/

答案 1 :(得分:4)

老实说,我见过很多相同的主题和答案。

如果你像我一样,并且不想再拥有比现有更多的代码,那么只需为Win / Mac / Nix下载一个LESS应用程序,每次保存.less文件时它都会自动编译。

老实说,我认为这会减少服务器上的负担,因为此时只需要上传已编译和缩小的文件。

答案 2 :(得分:1)

我写了一些可能正是你要找的东西。该脚本将在watch文件夹中查找.less文件并将其编译到输出文件夹中。您需要做的就是指定要监视的文件夹和输出文件夹。

  

node less-watch-compiler.js FOLDER_TO_WATCH FOLDER_TO_OUTPUT

https://github.com/jonycheung/Dead-Simple-LESS-Watch-Compiler

它会跳过查看名称以下划线或句号开头的文件。

我为我的开发过程编写了这个,但它仍然可以在服务器上运行。但是,您可能需要重新考虑在实时服务器上不断观看文件夹以进行更改。这是一项昂贵的操作。

答案 3 :(得分:1)

您可以使用带-e参数的supervisor来提供观看扩展:

nohup supervisor -e 'js|ejs|less' $APP_DIR/app.js  1>$APP_DIR/log/app.log 2>&1 &
echo $! > $APP_DIR/pid/app.pid;

取自节点启动脚本:https://github.com/chovy/node-startup

此命令的更简单版本是:

supervisor -e 'js|ejs|less' app.js

答案 4 :(得分:1)

我知道这是一个老帖子,但在我最近搜索同样的事情时出现了几次。

我已经从jonycheung分叉并更新了代码 - 并提交了合并请求。

更新: jonycheung已接受合并请求,因此他的原始代码现已更新

同时,代码可以在这里找到:

https://github.com/mikestreety/Dead-Simple-LESS-Watch-Compiler

我一直在研究和开发一个使用lessc的纯bash脚本,但不需要运行节点脚本:

https://github.com/mikestreety/less-watch

答案 5 :(得分:1)

也许没有直接回答。但这是我的评论:

通常我们在开发阶段需要这个监视,我们需要更改较少的文件并查看结果,而不需要在less文件中的每次更改时重新运行lessc命令。

我们通过html中的纯less.js执行此操作。如下:

<link rel="stylesheet/less" href="/path/to/bootstrap.less">
<script src="/path/to/less.js"></script>

完成开发任务后。您只需运行lessc一次。

在开发过程中,您的网页可能会花费更多时间来加载,但如果您的网站是ajax基础,并且您将其添加到模板页面,那么这将不是什么大问题。

答案 6 :(得分:1)

您可以使用less-watch-compiler来监视.less文件。您不需要像grunt一样观看主文件。只需安装此插件:

npm install -g less-watch-compiler

yarn global add less-watch-compiler

用法:

less-watch-compiler [options] <source_dir> <destination_dir>

基本示例

 root 
 └──src
 │    └── main.less
 │    └── aux.less
 └──dist
      └── main.css

可以使用以下命令编译项目:

less-watch-compiler src dist main.less

基本示例2

less-watch-compiler.config.json

{
    "watchFolder": "src",
    "outputFolder": "dist",
    "mainFile": "main.less"
}

可以使用以下命令编译项目:

less-watch-compiler

Source