npm install mkapp --save
Install the command line tools globally with npm install mkapp-cli -g
Alternatively, if installed locally, set an environment alias alias mkapp='node ./node_modules/.bin/mkapp'
to use from the command line without installing the cli.
===
mkapp new
- Scaffolds out a new app and copy boilerplate into your project.
- Make sure to run from your project root where node_modules directory is located
- copies boilerplate project files from node_modules into
./src
mkapp go
or mkapp dev
- transpiles your public and server app into
dev/
using babel - bundles your public app into
dev/public
- bundles your admin dashboard app into
dev/admin
- opens a browser window to
localhost:<port>/app
- opens a browser window to
localhost:<port>/admin
- starts your app's server listening to
<port>
- starts a live reload server for
src/public
and reloadslocalhost:<port>/app
when files change - starts a live reload server for
src/admin
and reloadslocalhost:<port>/admin
when files change - starts a
nodemon
process to restart the server when api files, middleware files, or index.js are changed - establishes a websocket connection (using condux) between the server, admin app, he public app
- NOTE: default
<port>
is 3030, override it in your app'smkapp_config.json
see the MkappTheme Documentation
mkapp dist
- Not written yet
- transpiles your public and server app into
dist/
using babel - bundles and minifies your public app into
dist/public
- bundles your minifies admin dashboard app into
dist/admin
===
root/
|-- package.json
|-- mkapp_config.json
|-- .gitignore
|-- .eslintrc
|-- node_modules/
|-- dist/ (compiled and compressed app files, tracked in git)
|-- dev/ (compiled app files, not tracked in git)
|-- src/
|-- server/
|-- index.js
|-- middleware/
|-- api/
|-- v1.0/
|-- index.js
|-- condux/ ( websocket nexus, [see condux package](https://github.com/epferrari/condux) )
|-- admin/
|-- index.js
|-- actions.js
|-- constants.js
|-- frequencies/
|-- public/
|-- index.js
|-- actions.js
|-- constants.js
|-- frequencies/
|-- server
|-- index.js
|-- adminAppActions.js
|-- publicAppActions.js
|-- channels/
|-- public/
* See Below *
|-- admin/
* See Below
|-- modules/
(empty by default, a place for code packages tightly coupled around a single concern with files to be imported public, admin, and server)
/
|-- index.html
|-- actions/
|-- index.js
|-- assets/
|-- img/
|-- fonts/
* Roboto fonts
* Font-Awesome fonts
|-- components/ (ex. ComponentA.jsx, ComponentB.jsx)
|-- contexts/
|-- appContext.jsx
|-- datastores/
|-- AppState.js
|-- less/
|-- main.less
|-- components/ (ex. ComponentA.less, ComponentB.less)
|-- lib/
|-- fonts.less
|-- app.less
|-- material-ui-fonts.less
|-- react-css-transition-groups/
|-- views/
|-- Home.jsx