Based on the configs in:
https://github.com/mhuebert/shadow-bootstrap-example/blob/master/shadow-cljs.edn#L8
does it mean :bootstrap only works in :browser? How about :nodejs? Are there any other options related to :bootstrap?
:bootstrap only compiles "support" files for other builds that want to use the self-hosted compiler. It has no other purpose or options.
The "host" build, meaning the build that actually uses the compiler, will then load those files at runtime. This "bootstrapping" process is currently only implemented for the Browser.
One could rewrite this https://github.com/thheller/shadow-cljs/blob/master/src/main/shadow/cljs/bootstrap/browser.cljs and replace all the browser-specific stuff to use node "fs" calls directly. It does not do much and only serves as a reference implementation. I suggest building your own depending on your use case.
Also wrote a bit about :bootstrap on my blog:
https://code.thheller.com/blog/shadow-cljs/2017/10/14/bootstrap-support.html
If we can compile :bootstrap target to Node.js , does it mean we could make a replacement for Lumo?
Not sure what you mean by "we could make a replacement". You could write something like lumo yes. Build a self-hosted version of shadow-cljs no, not even close.