Tup与Moonscript自动编译

842 词

tup可以监控文件变动的,再执行相应有执行动作。可以设定tupfile规则,当监控目录中的文件发生变化的时候,实时执行编译脚本,只要文件有改动,然后openresty服务会reload文件,刷新一下url就可以看到新的变动结果(LUA)。

安装TUP首先要在Linux上安装FUSE。

第一步:安装FUSE。

yum install fuse

只安装fuse是不够的,还需要安装fuse-devel,在之后的编译需要.h和库文件。

yum list fuse*

yum install fuse-devel

如果是在ubuntu下:

sudo apt-get install libfuse-dev

第二步:下载tup。

git clone https://github.com/gittup/tup.git

./build.sh linux

sudo ./bootstrap.sh

第三步:运行tup。


ln tup /usr/bin

tup init

sudo tup

sudo tup monitor -a

特别说明:

A.创建软链接。

ln -s tup /usr/bin

-s创建软连接,可跨文件系统。

B.监控变化。

第二次输入就是重起就是monitor

sudo tup monitor -a

C.监控规则
tup在文件发生变动的时候,根据什么规则去什么动作。

在创建lapis工程的时候,我们不是简单的输入:

lapis new

而是要输入:

lapis new --git --tup

这样会在当前目录,生成规则文件Tuprules.tup

: foreach *.moon |> moonc %f |> %B.lua  

所有.moon文件,用moonc编译成同名的lua程序。

Tup的效果就是,只要编辑工程目录中的.moon文件,就会自动触发moonc把.moon编译成.lua文件。

作者:糖果

PS:转载到其它平台请注明作者姓名及原文链接,请勿用于商业用途。

http://www.lua.ren