2012-02-23 58 views
14

我正在寻找一个简单的指南,使用less.js和node.js设置服务器端监视和编译文件夹中的.less文件。 Bryan在this post中写过。如何使用less.js和node.js观看文件夹中的无文件?

不幸的是,对lesscss.org上的Server-side usage的说明对于node.js的新用户有点帮助。

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

我也尝试过'看守'和'无视',它的一切工作。但是,我正在寻找一个纯粹的node.js + less.js解决方案。我相信有人能够清楚地解释如何配置node.js和less.js来观察文件夹中的无文件。谢谢。

+0

过去我已经使用了一个[watch-less](https://github.com/Raynos/so642/blob/master/src/init/watch-less.js)文件。我认为这是节点0.4,但代码需要升级。 – Raynos 2012-02-23 21:33:29

回答

4

我已经创建了演示项目来展示它的工作原理。你可以在这里找到它https://github.com/corpix/watcherDemo

克隆进入工程目录后执行npm install来安装少量的Node.js模块。 尝试运行index.js和更改.less文件到less_files/目录,修改后的文件将被编译并放置到css_files/

+0

它使用readSync¬_¬ – Raynos 2012-02-24 02:17:56

+0

只是为了方便;) – corpix 2012-02-24 02:23:49

+2

[异步版本](https://github.com/corpix/watcherDemo/tree/async) – corpix 2012-02-24 02:30:55

1

我写的东西,可能是你在找什么。该脚本将在watch文件夹中查找无文件并将其编译到输出文件夹中。您只需指定要观看的文件夹和输出文件夹即可。

节点手表compiler.js少FOLDER_TO_WATCH FOLDER_TO_OUTPUT

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

它跳过看有与下划线或句点开头的名称的文件。

我为我的开发过程写了这个,但它仍然应该在服务器上工作。但是,您可能需要重新考虑在活动服务器上持续观看文件夹以进行更改。这是一项昂贵的操作。

1

你可以使用上级与-e参数,以提供扩展观看:https://github.com/chovy/node-startup

这个命令的简单的版本是:

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

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

从节点启动脚本采取

4

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

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

我真的认为这会减少服务器上的负载,因为您只需要在此处上传编译和缩小的文件。

+1

“只需下载一个LESS应用程序”... **是一个LESS应用程序?链接在哪里? – vsync 2015-09-16 20:17:25

+0

我原则上同意,但在提出这样的应用程序之前,这不应该有任何投票。我搜索了一个有这个问题的人! – gwg 2016-03-29 18:09:13

1

我知道这是一个旧帖子,但是当我最近在寻找相同的东西时,出现了几次。

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

更新: jonycheung已经接受了合并请求使他的原代码现已更新

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

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

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

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

+0

嗯..需要看看你在那里写什么;) 我其实做了一个类似的单个文件与选项 https://gist.github.com/pixelass/7964010 – pixelass 2013-12-14 20:12:08

+0

对不起 - 是你需要有一个看,或者我需要看看我写的是什么?你的剧本看起来非常棒!耻辱,我们已经转移到萨斯;) – mikestreety 2014-01-02 15:02:00

+0

这是,我必须看看你写了什么;)我做了我的github回购:https://github.com/pixelass/lessc-bash – pixelass 2014-01-05 05:47:26

1

也许不直接回答。但是这里是我的意见:

通常我们需要在开发阶段使用这块手表,在这里我们需要改变较少的文件并查看结果,而不需要通过减少文件中的每次更改来重新运行lessc命令。

我们这样做是纯less.js在我们的HTML。如下:

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

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

在开发过程中,您的网页可能需要更多的时间才能加载,但是如果您的网站是ajax基础,并且将其添加到您的模板页面中,则不会有什么大不了的。

相关问题