糖果实验室杂货铺

Candy Lab

Tup与Moonscript自动编译

1 year ago 0

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

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

第一步:安装FUSE。

1
yum install fuse

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

1
2
3
yum list fuse*

yum install fuse-devel

如果是在ubuntu下:

1
sudo apt-get install libfuse-dev

第二步:下载tup。

1
2
3
4
5
git clone https://github.com/gittup/tup.git

./build.sh linux

sudo ./bootstrap.sh

第三步:运行tup。

1
2
3
4
5
6
7
ln tup /usr/bin

tup init

sudo tup

sudo tup monitor -a

特别说明:

A.创建软链接。

1
ln -s tup /usr/bin

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

B.监控变化。

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

1
sudo tup monitor -a

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

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

1
lapis new

而是要输入:

1
lapis new --git --tup

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

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

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

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

作者:糖果

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

http://www.lua.ren


糖果实验室

Openresty中文编程网
IKBC经典机械键盘
机械键盘领券优惠购买

Write a Comment