It is the core part of the Foxpage framework and a development kit provided for node applications. Developers can quickly access and use the Foxpage framework by using the SDK.
Provide a series of features such as resource management, page parse, page rendering and plug-in for application services.
- Resource Management. Responsible for all dependent resource management, synchronize resource information between processes through multi-process communication, cache resources locally to improve performance, and create a scheduler to open timed tasks to update local resources.
- Page parse. Contains a series of processes from user access to output page structure DSL. The first is route parsing, which obtains the page information accessed by the user, obtains all dependency information relations according to the page information, and creates the context, and finally performs content parsing through the parser to output the complete page DSL.
- Page render. Render according to the parsed page DSL. The rendering process is divided into: server-side rendering(SSR) and client-side rendering(CSR).
- Plug-in. In order to improve scalability, support plug-in, and enhance the expansion ability of business fields through plug-ins.
Foxpage JS SDK is for browser use. Currently, provides browser-side parsing and component loading.
<Project Root>
├── .storybook // storybook config
├── docs // docs
└── packages
│ ├─foxpage-app-server // site application
│ ├─foxpage-browser-loader // load source in browser
│ ├─foxpage-core // foxpage sdk core: for parse DSL
│ ├─foxpage-engine-react // react render
│ ├─foxpage-entry-react // react csr entry
│ ├─foxpage-js-sdk // browser sdk
│ ├─foxpage-manager // resource manager
│ ├─foxpage-middleware-koa // koa middleware for foxpage node sdk
│ ├─foxpage-node-sdk // nodejs sdk
│ ├─foxpage-plugin // foxpage plugin core
│ ├─foxpage-shared // common utils
│ ├─foxpage-transformer // DSL transformer
│ └─foxpage-types // common types
└── jest.config.js // jest common configcommit used [angular standard](https://github.com/angular/angular/blob/master/CONTRIBUTING.md。
commit config: commitlint.config.js。 see: github
commit lint by husky。
npm:
npm run commit
// or
npx git-cznpm run bootand succeed before publish.lerna publish --ignore-scripts --no-pushto publish public packagesnpm run release -- --release-as patchornpm run release -- --release-as minorgenerate new version: standard-version.
Please read our Contributing Guide before submitting a Pull Request to the project.
For general help using Foxpage, please refer to the official Foxpage documentation. For additional help, you can use one of these channels to ask a question:
- GitHub (Bug reports, Contributions)
See our documentation live Docs for the Foxpage SDK.
See the LICENSE file for licensing information.