Tup与Moonscript自动编译
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:转载到其它平台请注明作者姓名及原文链接,请勿用于商业用途。