[关闭]
@shjanken 2015-12-29T06:33:05.000000Z 字数 1066 阅读 828

ClojureScript/OM 配合 descjop 开发笔记

clojure clojurescript cljs om reactjs


  1. 什么是 descjop ?
    descjop 是一个 lein 的模板,使用这个模板生成的项目包括了符合要求的目录结构,以及完备的依赖。
    可以方便的开发基于 cljs/om 以及 electron 的桌面应用程序。

  2. 如果使用 descjop
    使用非常简单,只需要一句命令:

    1. $> lein new descjop YOUR_APP_NAME +om // +om 是添加 om 支持

    lein 会更据模板自动生成目录结构,文件。

  3. 目录结构


    .
    +-- 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

    直接使用官方的图。非常清晰明了拉。

  4. 开始开发
    使用命令:

    1. $> lein trampoline figwheel frontend

    上面的命令可以启动一个 figwheel.

    figwheel 会监控 (watch) src_fontend 命名空间中文件的改动,并在每次修改时重新编译,实时显示到界面上。所以我们的主要开发工作都是在 src_forntend 命名空间中完成的
    figwheel的好。不用过是不会了解的。大家都去用用看吧。

    figwheel 启动之后,进程就在等待我们的客户端运行起来。事不宜迟,就让我们开始运行应用吧。

  5. 运行应用

    1. $> npm install -g grunt-cli #安装 grunt-cli 命令行工具。当然装过就不用装了
    2. $> npm install #安装需要的 npm packages
    3. $> grunt download-electron # 下载 electron 的运行环境。
    1. $ lein externs > app/js/externs.js

    编译下启动需要的 cljs 文件

    1. $ lein cljsbuild once

    运行喽,走起!

    1. $ ./electron/electron app

    以上运行完之后就可以看到窗口出现了,并且打印出了大大的 Hello OM

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注