React-Antd-Admin: шаблон каркаса для административного бэкенда на основе React, TypeScript и Ant Design
Шаблон каркаса для административного бэкенда, основанный на React, TypeScript и библиотеке компонентов пользовательского интерфейса Ant Design.
Онлайн-адрес: http://gjq0208.gitee.io/react-antd-admin
Git-адрес: https://github.com/guo-jianqiang/react-antd-admin
Для получения более подробной информации см. Little-Deer-UI (https://gitee.com/gjq0208/little-deer-ui).
Запись конфигурации системы, используемой пользователем, с кэшированием в браузере для учёта привычек пользователя.
Использование плагина antd-theme-webpack-plugin для экспорта файлов стилей AntD и привязки CSS-переменных. Реализация изменения основной темы с помощью метода less.js для онлайн-компиляции в браузере и изменения переменных less.
@import "_var";
:root{
--primary-color: @primary-color;
--danger-color: red;
}
window.less.modifyVars(vars).then(() => {
if (vars['@primary-color'] === getItem(SYSTEM_CONFIG).primaryColor) return
message.success('Смена основной темы прошла успешно')
})
window.less.refreshStyles()
Конфигурация требует только настройки параметров в файле routeItems.
export interface RouteItem {
path: string
exact: boolean
meta: {
tabFixed?: boolean // Фиксировать ли элемент вкладки
isCache?: boolean // Кэшировать ли маршрут
name: string
icon: Function | string
hidden?: boolean // Скрывать ли меню
}
component: ComponentType
routes?: Array<RouteItem>
}
Передайте функцию управления кэшем в компонент Layout. Для получения дополнительной информации см. react-router-cache-route (https://github.com/CJY0208/react-router-cache-route).
export interface aliveControlInterface {
dropByCacheKey: (cacheKey: string) => void // Очистить кэш по ключу, только для текущего маршрута и ключа очистки кэша
refreshByCacheKey: (cacheKey: string) => void // Обновить текущий маршрут
getCachingKeys: () => Array<string> // Или список ключей кэшированных маршрутов
clearCache: () => void // Очистить весь кэш
}
Параметр draggableTab в компоненте Layout позволяет контролировать возможность перетаскивания.
Используйте cross-env для установки переменных среды, обеспечивая тем самым настраиваемость в разных средах. Конфигурацию можно получить из папки env в корневом каталоге (development.json, test.json, production.json).
Пример:
// development.json аналогично другим файлам
{
"SERVER_URL": "www.baidu.com"
}
"scripts": {
"dev": "cross-env NODE_ENV=development webpack serve --config webpack/webpack.dev.ts",
"test": "cross-env NODE_ENV=test webpack serve --config webpack/webpack.dev.ts",
"build": "cross-env NODE_ENV=production webpack --config webpack/webpack.prod.ts"
},
plugins: [
new webpack.DefinePlugin({
"process.env.APP_CONFIG": JSON.stringify(envConfig)
})
....
]
yarn install
or
npm install
npm run dev
npm run build
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )