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 config
commit 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-cz
npm run boot
and succeed before publish.lerna publish --ignore-scripts --no-push
to publish public packagesnpm run release -- --release-as patch
ornpm run release -- --release-as minor
generate 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.