erlang自动编译与加载
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.6 KiB

5 years ago
4 years ago
4 years ago
4 years ago
5 years ago
4 years ago
4 years ago
5 years ago
  1. # erlSync
  2. otp21.2+
  3. Erlang即时重新编译和重新加载!
  4. ## 基于 [fsnotify](https://github.com/fsnotify/fsnotify) 跨平台文件系统通知。
  5. ## 改造自 [sync](https://github.com/rustyio/sync)
  6. ## 封装的监听文件项目[fileSync](https://github.com/SisMaker/fileSync) 如果要自己构建执行文件, 拉取监听文件项目, 然后 go build 复制执行文件到该工程的 priv 目录即可
  7. # 特点
  8. 本项目实现了自带编译与加载功能,另外支持额外的编译命令,但是执行额外的编译命令是通过os:cmd(),会阻塞VM不是很建议使用.
  9. 启动后,erlSync会收集监听目录下的源文件和编译选项等的信息。
  10. 不仅适用于开发模式,也可以在生产环境中运行。
  11. 注意:linux下拉取项目后 需要给priv目录下的执行文件添加执行权限
  12. # 使用
  13. 启动自动编译与加载
  14. erlSync:run().
  15. 暂停自动编译与加载
  16. erlSync:pause().
  17. 启动或者关闭集群同步加载
  18. erlSync:swSyncNode(TrueOrFalse).
  19. 设置编译与加载日志提示
  20. erlSync:setLog(Val).
  21. 设置加载后的钩子函数(支持匿名函数, {Mod, Fun}(Fun函数只有一个参数)格式, 以及他们的列表组合)
  22. erlSync:setOnsync(FunOrFuns).
  23. # 配置说明
  24. 参见erlSync.sample.config
  25. 默认配置为
  26. [
  27. {erlSync,
  28. [
  29. {listenPort, 12369},
  30. {compileCmd, undefined},
  31. {extraDirs, undefined}
  32. {log, all},
  33. {descendant, fix}
  34. ]
  35. }
  36. ]