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

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

一、约定

  1. jsx|tsx 组件文件名使用- 连接,例如 dimension-reading.tsx
  2. 除组件外的其他文件名使用 _,例如 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.pngimage.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>




目录
相关文章
|
28天前
|
移动开发 前端开发 JavaScript
前端高效开发JavaScript库!
前端高效开发JavaScript库!
|
1天前
|
JavaScript 前端开发 Java
【Vue实战项目】学完前端基础后,可能你还需要掌握这些才能接手开发项目
【Vue实战项目】学完前端基础后,可能你还需要掌握这些才能接手开发项目
12 0
|
2天前
|
前端开发 JavaScript 安全
微前端架构采用 TypeScript 提升开发效率和代码可靠性
【6月更文挑战第12天】微前端架构采用 TypeScript 提升开发效率和代码可靠性。TypeScript 的类型安全防止了微前端间的类型错误,智能提示与自动补全加速开发,重构支持简化代码更新。通过定义公共接口和使用 TypeScript 编写微前端,确保通信一致性与代码质量。在构建流程中集成 TypeScript,保证构建正确性。总之,TypeScript 在微前端架构中扮演关键角色,推荐用于大型前端项目。
21 4
|
14天前
|
资源调度 JavaScript 前端开发
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
|
21天前
|
前端开发 网络架构
1天搞定SpringBoot+Vue全栈开发 (8)前端路由VueRouter(进行组件切换)
1天搞定SpringBoot+Vue全栈开发 (8)前端路由VueRouter(进行组件切换)
|
24天前
|
缓存 前端开发 JavaScript
微前端框架开发实践的体验报告
微前端架构作为一种解决方案,通过将应用拆分成更小、更易于管理的子应用来提高开发效率和应用性能。本文将分享我在开发微前端框架过程中遇到的问题、解决思路以及具体方案。通过本次微前端框架的开发实践,我们成功实现了应用的解耦和性能的提升。关键点包括跨域问题的解决、路由分发的实现、沙箱和样式隔离的技术应用、通信机制的构建以及性能优化策略的采用。我们的成果是建立了一个高效、可扩展、易于维护的微前端架构。同时,我们也认识到了微前端架构的复杂性,以及在实施过程中需要考虑的诸多细节问题。
66 0
|
25天前
|
存储 人工智能 前端开发
从前端到后端,探索Web开发的奥秘
Web开发是当今最热门的技术领域之一,涉及前端、后端、数据库等多个方面。本文将介绍Web开发的基本架构和技术要点,并深入探讨前后端交互、安全性等问题,帮助读者更好地理解Web开发的奥秘。
|
28天前
|
设计模式 存储 前端开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
JS的几种设计模式,Web前端基础三剑客学习知识分享,前端零基础开发
|
30天前
|
Web App开发 前端开发 JavaScript
什么是 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象
什么是 Web 应用开发领域的 Frontend Fragmentation(前端碎片化)现象
19 0
|
30天前
|
Dart 前端开发 测试技术
【Flutter前端技术开发专栏】Flutter开发中的代码质量与重构实践
【4月更文挑战第30天】随着Flutter在跨平台开发的普及,保证代码质量成为开发者关注的重点。优质代码能确保应用性能与稳定性,提高开发效率。关键策略包括遵循最佳实践,编写可读性强的代码,实施代码审查和自动化测试。重构实践在项目扩展时尤为重要,适时重构能优化结构,降低维护成本。开发者应重视代码质量和重构,以促进项目成功。
【Flutter前端技术开发专栏】Flutter开发中的代码质量与重构实践