


Comment créer un système de gestion backend avec React Family Bucket
Cette fois, je vais vous montrer comment construire un système de gestion backend avec React Family Bucket. Quelles sont les précautions pour construire un système de gestion backend avec React Family Bucket. Voici des cas pratiques, jetons un coup d'oeil.
Présentation
Quand j'étais étudiant, je faisais constamment des exercices et faisais des résumés afin de maîtriser un certain point de connaissance. N'est-ce pas la même chose après mon entrée sur le marché du travail ? Faire des affaires, c'est comme faire des exercices. Si vous résumez correctement après les cours, vous améliorerez certainement votre niveau plus rapidement. Depuis que l'entreprise a adopté la pile technologique React+Node, elle a réalisé un petit projet ReactSPA. Il est prévu de résumer les activités rencontrées dans le travail quotidien et les éléments intéressants rencontrés lors de l'étude dans une démo à afficher à l'avenir. À l'heure actuelle, le projet n'est qu'un prototype et les résultats sont les suivants. Sur la base de cet article, j'ai écrit un nouvel article utilisant React Family Bucket pour créer un système de gestion backend Bienvenue à regarder. (Remarque : étant donné que le projet est mis à jour de temps en temps, l'article peut ne pas être mis à jour immédiatement, le projet réel prévaudra donc)
En fait, ce style d'interface peut non seulement être utilisé comme interface de système de gestion backend, mais peut également être modifié en un magnifique blog pouvant afficher des projets. L'adresse du projet est ici (l'exécution locale est meilleure). Si vous avez de bonnes opinions, veuillez soumettre un problème ou un PR.
La structure initiale et les raisons structurelles du projet ont été énumérées ci-dessus. Étant donné que les ts seront introduits au fil du temps, la structure du projet changera inévitablement, mais elle sera certainement élargie sur la base de ce prototype de base.
La structure du répertoire est expliquée ci-dessous
Le projet a été initialement initialisé avec create-react-app, qui est l'échafaudage React officiellement fourni par Facebook et l'un des meilleurs outils de développement d'applications React du secteur
- Le middleware le répertoire peut ensuite introduire un middleware de journal, etc. ; les conteneurs et les composants stockent les deux composants de réaction. La différence est la suivante : tant que les composants liés au style de la page d'accueil sont placés dans le conteneur. , les modules liés aux fonctions (comme le composant table que j'ai implémenté pour l'empaquetage, le pop-up
- groupe de boîtes de saisie , etc.) doivent être placés dans les composants ; Certaines configurations courantes sur le front-end sont mieux stockées dans le global (navigateur), de sorte qu'elles n'ont pas besoin d'être référencées lorsqu'elles sont appelées, ce qui est pratique ;
- La raison pour laquelle le Le module ajax doit être implémenté par vous-même, c'est que si vous avez besoin d'avoir des exigences de cors inter-domaines et que vous devez personnaliser plusieurs requêtes Ajax (si vous utilisez fetch, la récupération deviendra de plus en plus puissante à l'avenir)
Lié à la pile technologique
Bien que de nombreuses piles technologiques soient utilisées, je ne suis pas compétent dans leur utilisation. La plupart d'entre elles sont utilisées lors de la vérification des API, je n'énumère donc que quelques points que j'ai résolus en utilisant des piles technologiques pertinentes ;webpack(2.6)
①Chargement à la demande : babel-plugin-import est un plug-in babel (principe) permettant de charger le code et les styles des composants à la demande. Apportez les modifications suivantes dans le fichier config/webpack.config.dev.js :{ test: /\.(js|jsx)$/, include: paths.appSrc, loader: 'babel', query: { plugins: [ ['import', [{ libraryName: "antd", style: 'css' }]], ], cacheDirectory: true } },
config/webpack.config.dev.js
loaders: [ { exclude: [ /\.html$/, /\.(js|jsx)$/, + /\.less$/, /\.css$/, /\.json$/, /\.svg$/ ], loader: 'url', }, ... // Process JS with Babel. { test: /\.(js|jsx)$/, include: paths.appSrc, loader: 'babel', query: { plugins: [ - ['import', [{ libraryName: "antd", style: 'css' }]], + ['import', [{ libraryName: "antd", style: true }]], // 加载 less 文件 ], }, ... + // 解析 less 文件,并加入变量覆盖配置 + { + test: /\.less$/, + loader: 'style!css!postcss!less?{modifyVars:{"@primary-color":"#1DA57A"}}' + }, ]
, vous devez également modifier config/webpack.config. prod .js apporte exactement les mêmes modifications. config/webpack.config.dev.js
resolve: { fallback: paths.nodePaths, alias: { 'react-native': 'react-native-web', components: path.resolve(dirname, '..') + '/src/common/components', container: path.resolve(dirname, '..') + '/src/common/container', images: path.resolve(dirname, '..') + '/src/common/images', pages: path.resolve(dirname, '..') + '/src/common/pages', utils: path.resolve(dirname, '..') + '/src/common/utils', data: path.resolve(dirname, '..') + '/src/server/data', } },
antd(2.10)
antd是(蚂蚁金服体验技术部)经过大量的项目实践和总结,沉淀出的一个中台设计语言 Ant Design,使用者包括蚂蚁金服、阿里巴巴、口碑、美团、滴滴等一系列知名公司,而且我从他们的设计理念也学到了很多关于UI、UX的知识。
该项目采用的是antd最新的版本2.10.0,由于2.x的版本和1.x的版本还是相差蛮大的,之前参考的项目(基于1.x)改起来太费劲,所以在组件那块就干脆自己重新封装了一遍。这部分知识点我建议还是看文档,文档解决不了扒扒源码。
react-router(4.x)
react-router 4.x和2.x的差异又是特别的大,召唤文档,网上基本上都还是2.x的教程,看过文档之后,反正简而言之其就是要让使用者更容易上手。印象最深的是以前嵌套路由写法在4.x中写到同层了。如下示例他们的效果是相同的。
2.x:
<route> <route></route> <route></route> </route>
4.x:
<route></route> <route></route> <route></route>
还有更多的特性和API的出现,期待有更好的分析文章的出现,有机会我也会来总结下react-router(4.x)和(2.x)的差异。
fetch
先推荐这篇文章《传统Ajax已死,Fetch永生》,再推荐API;
fetch是个好东西,好在简单,除了promise最基本的用法,还能这样写
fetch(url).then(response => response.json()) .then(data => console.log(data)) .catch(e => console.log("Oops, error", e))
try { let response = await fetch(url); let data = await response.json(); console.log(data); } catch(e) { console.log("Oops, error", e); }
但是其简洁的特点是为了让我们可以自定义其扩展,还是其本身就还不完善呢?我在调用JSONP的请求时,发现用fetch掉不同,后来在文档上才发现其不支持JSONP的调用,所幸社区还是很给力的找到了fetch-jsonp这个模块,实现了对百度音乐接口的JSONP调用。fetch-jsonp使用也和fetch类似,代码如下
fetchJsonp(url,{method: 'GET'}) .then((res) =>res.json()) .then((data) => {})
redux
使用了redux也已经有段时日了,我对redux的定义就是更好的管理组件的状态,没有redux的时候就像现在这个应用一样,逻辑少状态变化也还不太复杂,但是一旦逻辑复杂起来,各种组件状态、界面耦合起来,就容易出岔子,那redux就是为了解决这个而生的,让我们可以更多地关注UI层,而降低对状态的关注。之前也写了些redux的文章,纸上得来终觉浅,绝知此事要躬行。
--------------------------更新---------------------------
已经在项目中加入了redux技术栈。
项目的一些待扩展计划
封装组件
不管组件封装得好不好,个人感觉其是提高水平很高效的方法,多练,继续封装出各式各样的功能组件。
typescript
公司大概会在6月份开始,新的项目就要采用ts开发了,所以我也到时会在该项目中引人ts的语法,我现在的感觉是使用ts后,前后端对接会更加轻松,不会有一些类型不匹配的低级错误,而且antd貌似和ts也能兼容得蛮好。
测试框架
这部分其实我还是没什么经验的,先写上吧,有机会会拿这个项目开刀,并写心得。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





La solution au problème de connexion en arrière-plan de Discuz est révélée. Des exemples de code spécifiques sont nécessaires Avec le développement rapide d'Internet, la construction de sites Web est devenue de plus en plus courante, et Discuz, en tant que système de création de sites Web de forum couramment utilisé, a été favorisé par. de nombreux webmasters. Cependant, précisément en raison de ses fonctions puissantes, nous rencontrons parfois des problèmes lors de l'utilisation de Discuz, comme des problèmes de connexion en arrière-plan. Aujourd'hui, nous allons révéler la solution au problème de connexion en arrière-plan de Discuz et fournir des exemples de code spécifiques. Nous espérons aider ceux qui en ont besoin.

Guide de séparation front-end et back-end de React : Comment réaliser un découplage front-end et back-end et un déploiement indépendant, des exemples de code spécifiques sont nécessaires Dans l'environnement de développement Web actuel, la séparation front-end et back-end est devenue une tendance. En séparant le code front-end et back-end, le travail de développement peut être rendu plus flexible, plus efficace et faciliter la collaboration en équipe. Cet article expliquera comment utiliser React pour réaliser une séparation front-end et back-end, atteignant ainsi les objectifs de découplage et de déploiement indépendant. Tout d’abord, nous devons comprendre ce qu’est la séparation front-end et back-end. Dans le modèle de développement Web traditionnel, le front-end et le back-end sont couplés

Comment créer une application de messagerie fiable avec React et RabbitMQ Introduction : Les applications modernes doivent prendre en charge une messagerie fiable pour obtenir des fonctionnalités telles que les mises à jour en temps réel et la synchronisation des données. React est une bibliothèque JavaScript populaire pour créer des interfaces utilisateur, tandis que RabbitMQ est un middleware de messagerie fiable. Cet article explique comment combiner React et RabbitMQ pour créer une application de messagerie fiable et fournit des exemples de code spécifiques. Présentation de RabbitMQ :

Êtes-vous inquiet du code tronqué du backend WordPress ? Essayez ces solutions, des exemples de code spécifiques sont nécessaires. Avec l’application généralisée de WordPress dans la construction de sites Web, de nombreux utilisateurs peuvent rencontrer le problème d’un code tronqué dans le backend WordPress. Ce type de problème entraînera l'affichage de caractères tronqués dans l'interface de gestion en arrière-plan, causant de gros problèmes aux utilisateurs. Cet article présentera quelques solutions courantes pour aider les utilisateurs à résoudre le problème des caractères tronqués dans le backend WordPress. Modifiez le fichier wp-config.php et ouvrez wp-config.

Guide de l'utilisateur de ReactRouter : Comment implémenter le contrôle du routage frontal Avec la popularité des applications monopage, le routage frontal est devenu un élément important qui ne peut être ignoré. En tant que bibliothèque de routage la plus populaire de l'écosystème React, ReactRouter fournit des fonctions riches et des API faciles à utiliser, rendant la mise en œuvre du routage frontal très simple et flexible. Cet article expliquera comment utiliser ReactRouter et fournira quelques exemples de code spécifiques. Pour installer ReactRouter en premier, nous avons besoin

PHP, Vue et React : Comment choisir le framework front-end le plus adapté ? Avec le développement continu de la technologie Internet, les frameworks front-end jouent un rôle essentiel dans le développement Web. PHP, Vue et React sont trois frameworks front-end représentatifs, chacun avec ses propres caractéristiques et avantages. Lorsqu'ils choisissent le framework front-end à utiliser, les développeurs doivent prendre une décision éclairée en fonction des besoins du projet, des compétences de l'équipe et des préférences personnelles. Cet article comparera les caractéristiques et les usages des trois frameworks front-end PHP, Vue et React.

Intégration du framework Java et du framework React : Étapes : Configurer le framework Java back-end. Créer une structure de projet. Configurez les outils de construction. Créez des applications React. Écrivez les points de terminaison de l'API REST. Configurez le mécanisme de communication. Cas pratique (SpringBoot+React) : Code Java : Définir le contrôleur RESTfulAPI. Code React : obtenez et affichez les données renvoyées par l'API.

Les joueurs peuvent collecter différents matériaux pour construire des bâtiments lorsqu'ils jouent dans le Royaume de Mistlock. De nombreux joueurs veulent savoir si les bâtiments ne peuvent pas être construits à l'état sauvage dans le Royaume de Mistlock. . Des bâtiments peuvent-ils être construits à l’état sauvage dans Mistlock Kingdom Réponse : Non. 1. Les bâtiments ne peuvent pas être construits dans les zones sauvages du Royaume de Mist Lock. 2. Le bâtiment doit être construit dans le cadre de l'autel. 3. Les joueurs peuvent placer eux-mêmes l'Autel du Feu Spirituel, mais une fois qu'ils auront quitté le champ de tir, ils ne pourront plus construire de bâtiments. 4. Nous pouvons également creuser directement un trou dans la montagne pour en faire notre maison, nous n’avons donc pas besoin de consommer de matériaux de construction. 5. Il existe un mécanisme de confort dans les bâtiments construits par les joueurs eux-mêmes, c'est-à-dire que plus l'intérieur est bon, plus le confort est élevé. 6. Un confort élevé apportera des bonus d'attributs aux joueurs, tels que
