本教程基于mac系统
讲个故事
Axure上做完的原型一般需要导出成html给其他同学看,一般有2种做法:
- 最简单的方法是用Axure Share,可惜公司网不给力,大家反映打开Axure Share奇慢无比。
- 放在一个公司的服务器上,这样就快了。
对于第2种方法,如果是FTP协议,将他挂载到本地直接在Finder里就可以完成。
但是我们用的是SFTP协议,不能通过Finder直接连接sftp服务器,所以要发布一个原型你得:
- 用Axure导出html到本地
- 下个支持SFTP协议的客户端
- 配置好,并连接到服务器
- 复制本地的html到服务器端
那有没有更简单的方法呢?
有,直接将SFTP挂载到本地,这样就可以直接导出到SFTP里啦。
上方案
- 写个挂载SFTP服务器的脚本
- 运行这个脚本来挂载SFTP
- 导出html到挂载目录
这个方案可能第一次编辑脚本会繁琐一点,但是一劳永逸,以后一般只要做第3步即可,有木有很方便!
1. 编写脚本
参考这个方案:https://apple.stackexchange.com/questions/5209/how-can-i-mount-sftp-ssh-in-finder-on-os-x-snow-leopard/347378
1.0 准备工作
安装组件:brew, cask
国内安装Brew较慢,可以参照下面这篇博客替换安装源。
https://www.jianshu.com/p/6523d3eee50d
1.1 安装osxfuse, sshfs
brew cask install osxfuse
brew install sshfs
1.2 编辑脚本
1.2.1 安装完之后打开文本编辑器 (cmd+空格,然后输入textedit,回车)
1.2.2 新建一个空文本
1.2.3 Format > Make Plain Text
修改文本格式
1.2.4 复制粘贴如下命令到编辑器中
umount /本地挂载路径
mkdir -p "/本地挂载路径"
sshfs 服务器用户名@服务器:/路径 "本地挂载路径" -ovolname=挂载目录的名称 && open "挂载路径"
其中,umount是为了解决休眠后连接断开又无法挂载的问题。
比如我的代码是这样的:
umount /Volumes/129
mkdir -p "/Volumes/129"
sshfs root@172.16.3.129:/ "/Volumes/129" -ovolname=129 && open "/Volumes/129"
脚本内容举例
Tips: 如果不想每次挂载都输入密码,也可以把密码写在命令中,不过有安全风险,示例如下(其中password替换为实际密码,保留双引号):
sshfs -o password_stdin ci@172.16.3.129:/ "/Volumes/129c" -ovolname=129c <<< 'password' && open "/Volumes/129c"
1.2.5 保存为sh文件,如"mount.sh"
2. 运行脚本挂载SFTP
2.1 打开terminal(cmd+空格,然后输入terminal,回车)
2.2 通过cd定位到脚本所在路径,比如我保存在了desktop下:
cd desktop
2.3 运行脚本
./mount.sh
运行脚本挂载SFTP
2.3.1 设置成双击运行脚本
在Terminal中输入如下命令赋予脚本可执行权限
chmod +x ./desktop/mount.sh
然后右键脚本,选择用Terminal打开即可。
2.4 查看SFTP是否挂在成功
现在你就可以在finder里找到挂载的目录啦,流程为:
Finder > Go > Go to Folder > 输入本地挂载路径
输入本地挂载路径入/Volumes
服务器就在这里
可以将这个目录拖到Favorites里方便以后快速进入。
3. Axure直接导出html到该目录
3.1 打开Axure > Publish > Generate HTML files
3.2 选择刚刚挂载的路径
3.3 点Generate
然后Axure就会直接将HTML导出到SFTP上啦。
后续流程
以后只要连着服务器,就只需要做第3步即可。
万一因为电脑重启等原因,导致和SFTP的连接断开,只需要再做一下第2步。
改进点
改进点1:开机自动挂载
通过设置开机任务实现。
感兴趣的同学可参考下面这篇博客的最后一段,也很简单。
https://jonathansblog.co.uk/sshfs-mount-remote-drive-in-finder
如果建议或意见,欢迎留言:>
网友评论