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

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

一、约定
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>
目录
相关文章
|
24天前
|
前端开发 JavaScript 安全
揭秘!前端大牛们如何高效解决跨域问题,提升开发效率!
【10月更文挑战第30天】在Web开发中,跨域问题是一大挑战。本文介绍前端大牛们常用的跨域解决方案,包括JSONP、CORS、postMessage和Nginx/Node.js代理,对比它们的优缺点,帮助初学者提升开发效率。
46 4
|
2月前
|
负载均衡 前端开发 JavaScript
前端研发链路之开发
本文首发于微信公众号“前端徐徐”,作者徐徐。文章介绍了前端研发链路中的开发部分,重点探讨了开发服务器(dev-server)、热更新(hot-reload)、数据模拟(mock)和代理(proxy)等关键技术,帮助开发者理解其基本原理和应用场景,提升开发效率和代码质量。
37 2
前端研发链路之开发
|
2月前
|
人工智能 前端开发 测试技术
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
本文介绍了 GPT-4 如何成为前端开发者的“神队友”,让开发变得更加高效愉快。无论是需求到代码的自动生成、快速调试和性能优化,还是自动化测试和技术选型,GPT-4 都能提供极大的帮助。通过智能生成代码、捕捉 BUG、优化性能、自动化测试生成以及技术支持,GPT-4 成为开发者不可或缺的工具,帮助他们从繁重的手动任务中解脱出来,专注于创新和创意。GPT-4 正在彻底改变开发流程,让开发者从“辛苦码农”转变为“效率王者”。
35 0
探索前端与 AI 的结合:如何用 GPT-4 助力开发效率
|
2月前
|
前端开发 JavaScript 开发者
前端angularJs的开发过程
前端angularJs的开发过程
19 1
|
3月前
|
前端开发 开发者 UED
前端只是切图仔?来学学给开发人看的UI设计
该文章针对前端开发者介绍了UI设计的基本原则与实践技巧,覆盖了布局、色彩理论、字体选择等方面的知识,并提供了设计工具和资源推荐,帮助开发者提升产品的视觉与交互体验。
|
2月前
|
JavaScript 前端开发 应用服务中间件
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍
29 0
|
2月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
144 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0
|
2月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。