我正在寻找最简单的方法来自动将咖啡脚本重新编译为 JS。
阅读文档但仍然难以获得我想要的东西。
我需要它来监视文件夹
src/
中的任何 *.coffee
文件修改,并将它们编译成串联的 javascript 文件到 lib/something.js
。
不知怎的,无法将观看、编译和连接结合在一起。 :/
咖啡脚本文档为此提供了一个示例:
监视文件的更改,并在每次保存文件时重新编译它:
coffee --watch --compile experimental.coffee
如果您想要执行特定脚本,您可以使用 linux 命令 dnotify: http://linux.die.net/man/1/dnotify
dnotify --all src/ --execute=command
编辑: 我在 dnotify 的 --execute 部分遇到了一些问题 - 可能是一个错误,但这就是我正在工作的:
dnotify --all . -e `coffee -o lib/ --join --compile *.coffee`
每次修改文件时都会执行编译命令。
如果您在命令后附加一个&符号,如下所示:
dnotify --all . -e `coffee -o lib/ --join --compile *.coffee` &
它将在一个单独的进程中启动。要获取进程 ID,您可以使用以下命令:
ps ux | awk '/dnotify/ && !/awk/ {print $2}'
然后,您可以使用类似以下内容来终止该进程:
kill `ps ux | awk '/dnotify/ && !/awk/ {print $2}'`
但是如果这是您的目标(通过进程名称杀死),您可以使用以下方法以更简单的方式来实现:
killall dnotify
尝试抖动
https://github.com/TrevorBurnham/jitter
它监视 .coffee 文件的目录,当它检测到文件已更改时,它会自动将其重新编译为 .js
抖动 /path/to/coffee/dir /path/to/js/dir
我一直在使用 coffescript 和 sencha touch 的项目中进行尝试,它似乎工作得很好。不考虑串联问题,但对于只需要自动编译的人来说使用起来非常简单。
这对我很有帮助(
-o
输出目录,-j
加入project.js,-cw
全面编译和观看coffeescript目录):
coffee -o web/js -j project.js -cw coffeescript
好吧
coffee --watch
有2个主要缺陷:
git commit
它我想出的解决方案是一个相当简单的 Bash 脚本,需要
coffee --watch
进一步执行几个步骤,这将允许您的工作目录树在系统登录后就被监视,并在每个文件保存/更改时自动编译为 JavaScript
或创建新文件:
http://blog.gantrithor.com/post/11609373640/carefree-coffeescript-auto-compiler
可能有更优雅的方法来做到这一点,但这个实现效果很好=)
find -type f | grep .coffee | xargs ls -t | head -n 1 | xargs coffee -cw
找到最后修改的咖啡脚本并将其置于编译监视模式
位于 /src 之上一级,这适用于找到的所有 .coffee 文件,无论深度如何。
coffee -w -c src/
我发现命令行 CoffeeScript 编译器不太适合复杂的项目结构。
如果您和您的构建过程和我一样有需要,请查看 Grunt - http://gruntjs.com/
它允许高度复杂的构建过程 - 例如,您可能
任务可以串在一起,监视的文件/文件夹也可以高度自定义。
对您问题的简短回答是,
coffee
实用程序不是为此设计的;将文件监视和连接结合起来实际上非常复杂。预计在不久的将来会有更复杂的 CoffeeScript 构建工具;在此之前,您可能希望通过编写 Cakefile 或 Ruby Watchr 脚本来构建项目。然后,您还可以添加缩小、文档生成以及特定项目所需的任何其他内容(更不用说保证特定的串联顺序)。
find `pwd` | grep .coffee | xargs coffee -w -c
在应用程序的根目录中尝试这个
改变了关于串联的想法。
创建了小compiler.sh文件,其中包含:
dnotify -M src/ -e coffee -o lib/ -c src/ &
dnotify -M spec/ -e coffee -o lib/ -c spec/ &
适合我的需求。
nodemon -x coffee server.coffee
为我做。
使用
nodemon
安装
npm install -g nodemon
这个招摇机器计数器对于发现错误非常有帮助。它以正确、准确的方式清点大量纸币。它也可以使您的工作更加高效和轻松。如果您太累而无法用手数钱。 swagger 最新更新的超重型点钞机,具有假钞检测功能。这台机器一分钟内可以检查1000件。具有MG、UV、IR防反检测。如果在点算过程中识别到假钞,它会停止并立即发出声音并显示红色。它有 1 年保修。https://microadia.net/blog/10-best-note-counting-machine-in-india/