📚系列介绍
在滴普科技这个卧虎藏龙的地方,有着一群身怀绝技,才华横溢的开发,他们苦心钻研技术,致力于回馈社区。小水滴作为一个热心的搬运工,将给大家带来一系列的前端技术成果的分享,接下来我们会有......
DEEPEXI 官方:产品介绍与技术分享
https://www.zhihu.com/org/deepexi
DEEPEXI 大前端:前端技术成果的分享
https://zhuanlan.zhihu.com/deepexi-frontend
开源地址(欢迎点击github来贡献你的star哦 ✨)
https://github.com/deepexi
https://github.com/FEMessage
create-nuxt-app 2.0 :集成更多工程化实践
🤔简单介绍
@femessage/create-nuxt-app 是滴普前端开发脚手架工具。提供后台管理和移动 Web App 两个项目模板。基于中后台项目交付,提供一系列预设功能。让前端开发可以专注于业务的实现,无需关注全局逻辑和构建发布配置,提高项目从 0 到 1 的效率。
经历了过去一年大小中后台项目,脚手架集成了更多工程化实践。接下来带大家看一下都有哪些令人期待的特性。
✨新特性预览
👨💻用户体验提升
保证最小的主显示区域
跨平台统一的滚动条
鉴权失效重定向
默认的接口状态码消息
🛠开发体验提升
提供一套较为完整的面包屑方案
浏览一下 Vue 生态的面包屑解决方案不难发现,基本都是基于路由匹配实现的。然而 Nuxt 以文件目录生成路由的特性,将路由表屏蔽了。对于开发者可以说是又爱又恨。
另外一个痛点就是现在很多中后台项目的面包屑除了需要实现导航的功能,还需要动态渲染一下部门名字、模块名字等,实现区分多个同级目录的作用。
因此提供一种统一的方案,省得每个团队都各自踩坑。统一每个项目的实现也有利于项目人员的临时调度,不需要很多时间就能上手项目了。
提供一个数据分层的方案 service 层
对于企业级 web 应用,接口可以说是海量的。如果既想享受 nuxtjs/axios 封装带来的便捷,又想实现数据分离,则需要一些技巧。下面罗列一下这个方案带来的直观感受:
- 调用接口不需要各种 import 了,同时也不会出现散落各处的接口路径字符串。
- 统一且语义化的数据请求调用方式,代码更加直观
- 临时 mock 数据不会影响到视图层,可以直接在 service 层介入
支持 ES optional-chaining 和 nullish-coalescing-operator
// optional-chainingconst adventurer = { name: 'Alice', cat: { name: 'Dinah' }};const dogName = adventurer.dog?.name; console.log(dogName);// expected output: undefinedconsole.log(adventurer.someNonExistentMethod?.())// expected output: undefined// nullish-coalescing-operatorconst foo = null ?? 'default string';console.log(foo);// expected output: "default string"const baz = 0 ?? 42; console.log(baz);// expected output: 0// 判断值是否「真」真值// Beforeimport { isNull, isUndefined } from "utils" const isTruly = value => !isNull(value) && isUndefined(value)const value = isTruly(val) ? val : "" // Afterconst value = val ?? "" // 避免 can't find property xxx of undefinedconst get = {}// Beforeconst obj = get.a && get.a.obj// Afterconst obj = get.a?.obj提供 svg-icon 的集成
👀使用细节
作者:梁汉贤
滴普门前扫地僧
企业级前端全链路开发服务平台:DEEPEXI Serverless(A20)
DEEPEXI是滴普科技公司面向企业数字化领域打造的云原生智能平台,定位于企业数字化引擎,为企业提供数字化全栈解决方案。滴普科技致力于互联网/大数据/人工智能/物联网领先技术产品解决方案的研发和实施,是领先的企业数字化建设者。