我正在寻找使用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文件。谢谢。
答案 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脚本,但不需要运行节点脚本:
答案 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
less-watch-compiler.config.json
{
"watchFolder": "src",
"outputFolder": "dist",
"mainFile": "main.less"
}
可以使用以下命令编译项目:
less-watch-compiler