Introduction
ndsk (node stack) is a next-generation full-stack framework for JavaScript developers. It is designed to be very simple, allowing you to create secure, high-performance, high-quality programs with minimal code. It has powerful routing, flexible layout modes, fast compilation speed, extensible plug-ins and middleware, and supports server-side rendering (SSR), client-side rendering (CSR), static rendering (SSG), and hybrid mode SSCR
. It almost makes up for all the shortcomings of other frameworks, all for the purpose of improving development efficiency.
Main advantages:
- Safe, very simple design, powerful, ready to use, no additional configuration required
- Supports various rendering modes such as server-side rendering (SSR), CSR, SSG, SSCR, etc., the first screen rendering speed is super fast, very friendly to SEO
- Automatically optimize the package size, the compilation speed is super fast, about 10-100 times that of other frameworks
- Support server-side hot update, no need to restart the server with tools such as nodemon every time the code is modified
- Support real-time page reload, modify the front-end components and back-end routes to automatically refresh the page
- Support detailed error stack tracking function in development mode
- Super fast startup speed, it dynamically compiles according to page requests, without the need to compile all pages every time
- Automatic compilation, and supports ES5\ES6+
- Powerful routing function, support dynamic routing
- Compared with other frameworks, it supports more flexible layout modes
- Use
react
renderToPipeableStream
to render pages, support lazy, Suspense
asynchronous loading - It has built-in major modules such as
mongodb
, no additional configuration is required, and it supports front-end, back-end, and full-stack development.
ndsk
is the fastest framework currently
Comparison under Ubuntu:
frame | start up(Development) | Compile(Bundle) | First screen loading(DOMContentLoaded) |
---|
Ndsk | ~ 0.4s | ~ 0.4s | ~ 0.008s |
Remix | ~ 0.7s | ~ 1.7s | ~ 0.010s |
Next | ~ 2.2s | ~ 8s | ~ 0.008s |
Start the development environment, compile and start
$ npm run dev
> My App@1.0.0 dev
> ndsk
> Startup time:198ms Ready on http://localhost:3000
$ npm run build
> My App@1.0.0 build
> ndsk build
✨ /home/work/ndsk_example/src/pages/index.js 139.36KB
✨ compiled 1 file in : 377ms
$ npm run start
> My App@1.0.0 start
> ndsk start
> Startup time:187ms Ready on http://localhost:3000
Start installation
Create a project directory and enter
$ mkdir my-nodestack-app
$ cd my-nodestack-app
Next, start creating the project and installing the necessary packages. If prompted, just press Enter
$ npm create nodestack
$ npm i
Now that you have completed the installation, you should see the following directory structure
my-nodestack-app
├── src
│ ├── pages
│ │ └── index.js
│ │ └── style.scss
├── ndsk.config.js
└── package.json
Open the package.json file, you can see the following content in the script
{
"scripts": {
"dev": "ndsk",
"build": "ndsk build",
"start": "ndsk start"
}
}
These scripts correspond to different stages of the program:
- dev: Run
npm run dev
to start nodestack in development mode - build: Run
npm run build
to start building the project - start: Run
npm run start
to run the built project in production environment
Now enter the following code in the terminal to start our first project
$ npm run dev
You can see the following log output
> My App@1.0.0 dev
> ndsk
> Startup time:450ms Ready on http://localhost:3000