A template generator that will produce a minimal ClojureScript project that includes figwheel.main tooling.
Already an expert? Can't stand to read more information? Just use one of the following commands:
clj -A:new figwheel-main hello-world.app --reagent # or --rum, --om, --react or nothing
or
lein new figwheel-main hello-world.app -- --reagent # or --rum, --om, --react or nothing
The figwheel-main
template is intended to get you up and running
with a no-frills ClojureScript project initialized with the
ClojureScript React framework of your choosing. It is intended to work
equally well with
Leiningen or
clj-new.
Make sure you have installed the Clojure CLI tools and are running the latest version.
Also, ensure you have installed clj-new as detailed here
clj -A:new figwheel-main hello-world.app --reagent
Make sure you have the latest version of Leiningen installed.
lein new figwheel-main hello-world.app -- --reagent
Takes a name and possibly a single framework option with the
form --framework
and any number of attribute options of the form
+attribute
and produces a minimal ClojureScript project that
includes Figwheel Main tooling
The initial name option is intended to be the name of your initial project namespace. Here are some examples of valid project names:
hello.core
my.group/dominate.world
The framework options are:
--react which adds a minimal React/Sablono application in core.cljs
--reagent which adds a minimal Reagent application in core.cljs
--rum which adds a minimal Rum application in core.cljs
--om which adds a minimal Om application in core.cljs
The attribute options are:
+deps which generates a deps.edn (a default when used with clj-new)
+lein which generates a project.clj (a default when used with lein)
+bare-index which generates an index without any annoyingly helpful content
Only one framework option can be specified at a time. If no framework option is specified, nothing but a print statment is added to the generated ClojureScript code.
Examples:
lein new figwheel-main hello-world.app -- --react +deps
clj -A:new figwheel-main hello-world.app --react +bare-index +lein
To get an interactive development environment change into the project root (the directory just created) and execute:
clojure -A:fig:build
After the compilation process is complete, and a browser has popped open the compiled project in your browser, you will get a ClojureScript REPL prompt that is connected to the browser.
An easy way to verify this is:
cljs.user=> (js/alert "Am I connected?")
and you should see an alert in the browser window.
You can also supply arguments to figwheel.main
like so:
clojure -A:fig -b dev -r
To clean all compiled files:
rm -rf target/public
To create a production build:
rm -rf target/public
clojure -A:fig:min
To get an interactive development environment change into the project root (the directory just created) and execute:
lein fig:build
After the compilation process is complete, and a browser has popped open the compiled project in your browser, you will get a ClojureScript REPL prompt that is connected to the browser.
An easy way to verify this is:
cljs.user=> (js/alert "Am I connected?")
and you should see an alert in the browser window.
You can also supply arguments to figwheel.main
like so:
lein fig -- -b dev -r
To clean all compiled files:
lein clean
To create a production build:
lein clean
lein fig:min
See the figwheel.main README
Hit me up on the Clojurians Slack on the #figwheel.main channel.
Copyright © 2018 Bruce Hauman
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close