CReate A Node Application
A CLI tool to create React + Node apps with just one command (batteries included)
- Quick Start
- Project Structure
- Known Issues
- Code of Conduct
As soon as you bootstrap a new project, you will have an application running with:
- Node.js backend
- React.js frontend
Under the hood it uses Webpack, Babel, ESLint and StyleLint with a few other plugins enabling a powerful development workflow, such as server live reload with nodemon and more. All preconfigured out of the box, so that you can focus on the important stuff!
npm i -g crana
Initialize your app
crana init <projectName> [projectFolder]
...and you are ready to go!
This will fire up the frontend and the backend concurrently in development mode.. Just edit files under src and see what happens!
||Create a new crana project|
||Concurrently starts the frontend and the backend in development mode|
||Starts the webpack development server for the frontend|
||Starts the node.js backend in development mode with live-reload|
||Creates a production build for the frontend application|
||Executes eslint and styleling in autofix mode for your client files (src/client + src/shared)|
||Executes eslint in autofix mode for your server files (src/server + src/shared)|
||See how many LOC you've already written|
The interesting files for you are all located in the src folder. The src folder has three subfolders:
As you can imagine, the client folder contains all files for React and the server folder contains all files for Node.js backend. The shared folder contains code you would like to share between client and server. This is a good place for e.g. utility functions, domain logic etc.
NOTE:Be aware that the server files are not transpiled and thus don't support certain features like ES6 imports. This also the reason why all code in the shared folder must be executable with your current node.js version.
Windows Linux Subsystem
If you're using Windows Linux Subsystem, eslint will not immediatly work. You need to edit the path under
C: and it should work.
Pull requests are always welcome. Please have a look at CONTRIBUTING.md and open an issue before submitting a pull request.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Code of conduct
Have a look at CODE_OF_CONDUCT.md