descjop
是一个 lein
的模板,使用这个模板生成的项目包括了符合要求的目录结构,以及完备的依赖。
能够方便的开发基于 cljs/om
以及 electron
的桌面应用程序。html
使用很是简单,只须要一句命令:npm
$> lein new descjop YOUR_APP_NAME +om // +om 是添加 om 支持
lein
会更据模板自动生成目录结构,文件。json
. +-- README.md +-- app | +-- index.html // entry html file | +-- js | | +-- cljsbuild-main.js // compiled JavaScript | | +-- externs.js | | +-- main.js | +-- package.json // for Desktop app +-- package.json // for Compile +-- project.clj // compile settings desktop app +-- src | +-- NAMESPACE | +-- core.cljs // ClojureScript for Electron in here +-- src_front +--NAMESPACE_om直接使用官方的图。很是清晰明了拉。app
使用命令:frontend
$> lein trampoline figwheel frontend
上面的命令能够启动一个 figwheel
.electron
figwheel
会监控 (watch) src_fontend
命名空间中文件的改动,并在每次修改时从新编译,实时显示到界面上。因此咱们的主要开发工做都是在 src_forntend
命名空间中完成的grunt
figwheel
的好。不用过是不会了解的。你们都去用用看吧。工具
当 figwheel
启动以后,进程就在等待咱们的客户端运行起来。事不宜迟,就让咱们开始运行应用吧。ui
$> npm install -g grunt-cli #安装 grunt-cli 命令行工具。固然装过就不用装了 $> npm install #安装须要的 npm packages $> grunt download-electron # 下载 electron 的运行环境。
$ lein externs > app/js/externs.js
编译下启动须要的 cljs 文件命令行
$ lein cljsbuild once
运行喽,走起!
$ ./electron/electron app
以上运行完以后就能够看到窗口出现了,而且打印出了大大的 Hello OM