xrdc

xrd.js框架服务

Usage no npm install needed!

<script type="module">
  import xrdc from 'https://cdn.skypack.dev/xrdc';
</script>

README

xrdc.js

front-end framework based on dva, react-loadable.

Getting Started

#Install

$ npm install xrdc -g
# or
$ yarn global add xrdc

Commands

We have four commands: init, dev, build, start

xrdc init

create app in an empty folder with a demo

Generated File Tree

.
├── pages                    # pages directory
    ├── index               # page
        ├── aIndex.jsx         # UI components
        ├── aModel.js          # Dva models for entry file
        ├── aLang.js         # Lang for entry file
├── routes                    # Source directory
    ├── index.js           # Route map Enry file
    ├── home.js             # Loadable Config
├── .gitignore             #
└── package.json           #

xrdc dev

run app in the development mode

xrdc build

build app in the production mode

xrdc start

run app in the production mode

Route config example


import * as React from 'react';

export default function Home({registerModels, app}) {
    return {
        loader: {
            Index: () => import('../pages/index/aIndex'),
            Model: () => import('../pages/index/aModel'),
            Lang: () => import('../pages/index/aLang')
        },
        modules: [
            '../pages/index/aIndex',
            '../pages/index/aModel',
            '../pages/index/aLang'
        ],
        webpack: () => [
            require['resolveWeak']('../pages/index/aIndex'),
            require['resolveWeak']('../pages/index/aModel'),
            require['resolveWeak']('../pages/index/aLang')
        ],
        render(loaded, props) {
            const AIndex = loaded['Index'].default || loaded['Index'];
            const AModel = loaded['Model'].default || loaded['Model'];
            const ALang = loaded['Lang'].default || loaded['Lang'];
            
            app && registerModels(app, [AModel]);
            return <AIndex {...props} __lang={ALang} />
        }
    }
}