【博客开发】前端应用开发环境搭建(可复用)

简介: 【博客开发】前端应用开发环境搭建(可复用)

一、约定
jsx|tsx 组件文件名使用- 连接,例如 dimension-reading.tsx
除组件外的其他文件名使用 _,例如 random_go.ts
二、文件说明

|- babel.config.json // babel 配置

|- README.MD

|- CHANGELOG.MD // 修改历史

|- postcss.config.js // 1.支持 autoprefixer 自动添加浏览器商家前缀;2.支持 px转rem

|- tsconfig.json // typescripts 配置文件

|- webpack.config.js // webpack 配置文件

|- docs
  |- 前端环境搭建.txt

|-public
  |- index.html // 程序入口1级 html 模板 -> 提供 <div id="root"></div> 入口点
  |- logo.ico  // logo
|- src

  index.tsx // 程序入口2级(紧跟在 index.html 后头) -> 提供 ReactDOM.createRoot(...).render(<App/>) 入口点

  |- app
    |- app.tsx  // 程序入口3级(紧跟在 index.tsx 后台) -> 提供 全局通用的框架入口,AppoProvider、Router、ErrorBoundary、Suspense
    |- app.scss // 样式文件,全局且通用的样式可以写在这里
    |- image
      |- loading.gif // 加载中图片
    |- app-apple
      |- app-apple.tsx //程序入口4级(紧跟在 app.tsx 后头) -> 肩负两个功能:1. Context 2. 基础路由 3. react portal

  |- commponent
    |- portal // -> react portal 都保存在这儿
    |- common // -> 通用的组件放这儿
    |- init // -> 用于初始化的组件放这儿
    |- view // -> 页面的一部分(待定)

  |- pages // 页面组件

  |- register-center
    |- context // react context
    |- data-from // api 访问地址存放这儿
    |- graphql // graphql 
      |- graphql-schema // graphql 的 schema 定义
      |- graphql-types // graphql 返回的数据结构定义(typescript type)
    |- route
      |- route-register-center
        |- route-register-center.ts // 路由注册中心
    |- security // 一些安全工具/配置
      |- map-localstorage
        |- map-localstorage.ts // 将保存在浏览器 localstorage 里的key值转换成随机的

  |- types // typescripts 类型定义
    |- image.d.ts // image类型

  |- utils
    |- security_utils
      |- encrypt_go
        |- setting // 加密公钥
        |- encrypt_go.ts // 使用 jsencrypt 加密
    |- random_char
      |- random_char.ts // 生成随机字符

三、特性

  1. 支持 React
  2. 支持 typescript
  3. 支持 scss
  4. 支持 调试热更新
  5. 支持 graphql
  6. 支持 grpc
  7. 支持 px2rem
  8. 支持 autoprefixer
  9. 支持前端rsa加密
  10. 支持 markdown 编辑器
  11. 支持 PC 端和 MOBILE 端的检测
  12. 支持 babel 转换

四、初衷
其实前面也有构建过基础应用环境,但这次想构建一个通用的前端 React 单页应用开发环境,毕竟自己的成长方向是应用开发,当有实际需求时,立马能拿出一个基础开发框架是很有必要的。

image.png

image.png
第一次扫描时也出现了两个bug,已经修复完毕
PS:搭建过程中用webstorm 的 Run Configuration for TypeScript 插件调试typescript代码时,遇到了debug 不了 ts 文件的问题。原因是: 新安装的 typescripts 版本过高。解决办法是重新安装一下 ts-node 即可:

C:\Users\FENG>npm install -g ts-node@latest
C:\Users\FENG\AppData\Roaming\npm\ts-node -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js
C:\Users\FENG\AppData\Roaming\npm\ts-node-cwd -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin-cwd.js
C:\Users\FENG\AppData\Roaming\npm\ts-node-script -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin-script.js
C:\Users\FENG\AppData\Roaming\npm\ts-node-esm -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin-esm.js
C:\Users\FENG\AppData\Roaming\npm\ts-node-transpile-only -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin-transpile.js
C:\Users\FENG\AppData\Roaming\npm\ts-script -> C:\Users\FENG\AppData\Roaming\npm\node_modules\ts-node\dist\bin-script-deprecated.js
npm WARN ts-node@10.9.1 requires a peer of @types/node@* but none is installed. You must install peer dependencies yourself.
npm WARN ts-node@10.9.1 requires a peer of typescript@>=2.7 but none is installed. You must install peer dependencies yourself.

+ ts-node@10.9.1
added 7 packages from 3 contributors, removed 3 packages and updated 10 packages in 1.545s

C:\Users\FENG>
相关文章
|
7天前
|
缓存 人工智能 前端开发
前端技术博客:探索现代前端开发的奥秘
前端技术博客:探索现代前端开发的奥秘
31 11
|
8天前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
27天前
|
前端开发 Java UED
JSF遇上Material Design:一场视觉革命,如何让传统Java Web应用焕发新生?
【8月更文挑战第31天】在当前的Web开发领域,用户体验和界面美观性至关重要。Google推出的Material Design凭借其独特的动画、鲜艳的颜色和简洁的布局广受好评。将其应用于JavaServer Faces(JSF)项目,能显著提升应用的现代感和用户交互体验。本文介绍如何通过PrimeFaces等组件库在JSF应用中实现Material Design风格,包括添加依赖、使用组件及响应式布局等步骤,为用户提供美观且功能丰富的界面。
32 0
|
27天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
44 0
|
27天前
|
前端开发 API 开发者
JSF与RESTful服务的完美邂逅:如何打造符合现代Web潮流的数据交互新体验
【8月更文挑战第31天】随着互联网技术的发展,RESTful架构风格因其实现简便与无状态特性而在Web服务构建中日益流行。本文探讨如何结合JavaServer Faces (JSF) 和 JAX-RS 构建RESTful API,展示从前端到后端分离的完整解决方案。通过定义资源类、配置 `web.xml` 文件以及使用依赖注入等步骤,演示了在JSF项目中实现RESTful服务的具体过程,为Java开发者提供了实用指南。
30 0
|
27天前
|
存储 设计模式 运维
Angular遇上Azure Functions:探索无服务器架构下的开发实践——从在线投票系统案例深入分析前端与后端的协同工作
【8月更文挑战第31天】在现代软件开发中,无服务器架构因可扩展性和成本效益而备受青睐。本文通过构建一个在线投票应用,介绍如何结合Angular前端框架与Azure Functions后端服务,快速搭建高效、可扩展的应用系统。Angular提供响应式编程和组件化能力,适合构建动态用户界面;Azure Functions则简化了后端逻辑处理与数据存储。通过具体示例代码,详细展示了从设置Azure Functions到整合Angular前端的全过程,帮助开发者轻松上手无服务器应用开发。
13 0
|
27天前
|
前端开发 JavaScript 测试技术
React 与前端自动化测试也太重要啦!各种测试框架助力确保应用质量,快来开启优质开发之旅!
【8月更文挑战第31天】随着前端技术的发展,React 成为了构建用户界面的热门选择。然而,随着应用复杂性的增加,确保应用质量变得至关重要。本文介绍了前端自动化测试的重要性,并详细综述了常用的测试框架如 Jest、Enzyme 和 Cypress,以及如何通过它们进行高效的 React 组件测试。通过遵循最佳实践,如编写可维护的测试用例、覆盖关键场景、集成 CI/CD 流程和进行性能测试,可以显著提高应用的稳定性和可靠性。
39 0
|
13天前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
1月前
|
存储 前端开发 JavaScript
前端语言串讲 | 青训营笔记
前端语言串讲 | 青训营笔记
24 0
|
3月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
71 2