V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  XCFOX  ›  全部回复第 2 页 / 共 12 页
回复总数  227
1  2  3  4  5  6  7  8  9  10 ... 12  
243 天前
回复了 fengshils 创建的主题 Node.js 4202 年 nodejs api 框架那个好一些
React 的 UI 组件库生态比 VUE 要丰富太多,从这方面讲确实用 React 开发漂亮网站要简单一些。

React 好看的组件库有:
https://nextui.org/
https://v2.chakra-ui.com/
https://mui.com/material-ui/
https://ui.shadcn.com/
https://semi.design/zh-CN

Vue 好看的组件库:
https://www.naiveui.com/
https://ui.nuxt.com/
TS 写习惯了,现在已经完全离不开 TS 了。
后端上个 OpenAPI 或者 GraphQL 或者 tRPC ,前端配合 ts 调用起来就很有信心,对接口有完全的掌控。接口有任何修改 TS 都能检查出来。

现在找轮子的时候,没有 TypeScript Declare 的包直接排除。有的库 tsdoc 写得很详细,tsdoc 直接当文档看。

写通用库的时候 TS 是必须的,之后调用的时候会很舒服。写业务的时候用 ts 就更舒服了,一般类型都直接能推导出来。
251 天前
回复了 fusi 创建的主题 Visual Studio Code 想找一种 vscode 扩展
Scratchpads:创建多个便笺文件,以便在编写代码时进行涂鸦。

https://marketplace.visualstudio.com/items?itemName=buenon.scratchpads
你可能在找 Yjs: https://github.com/yjs/yjs

如果需要后端配合的话建议上 Hocuspocus: https://github.com/ueberdosis/hocuspocus
同意 5 楼,同样是脚手架,我可以去用 vite (pnpm create vite)、Rspack (pnpm create rsbuild@latest),还有 Remix (npx create-remix@latest)、Next.js (npx create-next-app@latest),楼主的这个脚手架相比以上这些有什么优势?况且用的还是老一代的 webpack 。
valtio ,类似 vue3 的 reactive ,真正的自动档状态管理。

https://github.com/pmndrs/valtio
我建议你放弃思考,直接用框架的答案。如果能直接上个框架就更好了。

所有框架都是使用中间件( middleware )来拦截越权请求的,也就是你说的导航守卫。


https://nuxt.com/docs/getting-started/routing#route-middleware
https://remix.run/docs/en/main/route/loader#throwing-responses-in-loaders
https://nextjs.org/docs/app/building-your-application/routing/middleware
302 天前
回复了 RedBeanIce 创建的主题 Go 编程语言 [natsio] 使用入门问题
除了添加 WaitGroup 用于等待消息,你还得在发布端使用 defer nc.Close() 而不是 defer nc.Drain(),Drain 状态下是不能发布消息的。
302 天前
回复了 RedBeanIce 创建的主题 Go 编程语言 [natsio] 使用入门问题
我平常主要写 node.js ,为了回复你这个问题特意装了 go 的环境。

你的问题是接受程序(Test_natsio_resp) 从上到下走完直接完事儿了,没有等待下一条消息这个程序就退出了。

你需要想办法让程序等待消息进来,具体代码请参考:
https://github.com/nats-io/go-nats-examples/blob/main/api-examples/subscribe_async/main.go
Flutter 本质上是一个游戏引擎,它所有的视图都是自绘的。自绘使得 Flutter 可以在所有平台上保持视图一致。但也导致许多原生视图的特性在 Flutter 上无法使用,比如 Android 12 的滚动回弹动画。
另外比较致命的一点是,Flutter 的绘图性能是比不过原生的,这体现在翻页滚动流畅度、手势反馈延迟等许多方面。假如原生的用户体验是 100 分,Skia 引擎的 Flutter 的上限是 90 分,希望 Impeller 引擎的 Flutter 的上限能达到 95 分以上。

相比于天生是游戏引擎的 Flutter ,React Native 则是一个为普通 APP 而生的。RN 在各平台上始终使用
原生视图,能获得原生级别 100 分的流畅度上限。

再者,Flutter 在视图写法、状态管理上都落后 RN 一个版本。Flutter 使用嵌套地狱、RN 使用 jsx ; Flutter 的 Riverpod 、bloc 等状态管理方案还遵守 Redux 的思想,React 新一代的 zustand 、jotai 、valtio 大幅减少了模板代码。
在开发效率上 React Native 显然高于 Flutter 。

我的建议是,如果你的 APP 不需要复杂的绘图操作,也就是普通 APP 的话,应该首选 RN + expo ;如果你要开发具有复杂视图的 APP ,比如游戏、谷歌地球、高德地图、Wonderous ,应该首选 Flutter 。

建议体验一下 V2EX 的 Flutter 客户端和 React Native 客户端,Flutter 版本滑动、翻页的时候存在明显卡顿,RN 的体验明显好得多。
https://github.com/guozhigq/flutter_v2ex
https://github.com/liaoliao666/v2ex
312 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
@tlerbao 使用 vite 的话,在 dev 模式下不会自动 tree shaking ,但在 build 时会 tree shaking ,使用 webpack 始终会自动 tree shaking
312 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
@tlerbao #15 不会,有 tree shaking
312 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
桶文件本身不提供任何实现,而是重新导出其他模块的导出,一个典型的桶文件是: https://github.com/microsoft/TypeChat/blob/main/src/index.ts

重新导出语句 export * from 'xxx' 是无法导出 export default 的。

假如你有这样的文件结构:
src/
|-- utils/
| |-- format.ts
| |-- validate.ts
| |-- index.ts
并且在 src/utils/format 中使用 export default ,
那么始终得使用 import '../utils/format' 导入。

但是如果你使用桶文件,通常只需要 import '../utils'
312 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
几乎不用 export default ,因为 export default 不方便配合桶文件使用
336 天前
回复了 byqtxdy07 创建的主题 程序员 ts 使用 grpc ts-proto 的一点问题
只能说 TypeScript 领先太多了。grpc 是带着 C/C++、Go 的包袱设计的。在 Go 中不传值就是零值,根本没办法区分 undefined 和空字符串。
能用 json 还是用 json 吧,根本不差 protobuf 那点性能。如果是服务间通讯的话试试 nats 消息中间件,实测延迟比 grpc 低,速度比 grpc 快。
340 天前
回复了 iGmainC 创建的主题 React 关于 react 项目结构的疑惑
我建议你放弃思考直接用框架的答案。
如果当前项目是基于 React-Router 的话上 remix: https://remix.run/
不然的话直接上 https://nextjs.org/

啥目录结构、错误处理框架都给你安排得明明白白:
https://remix.run/docs/en/main/guides/errors
https://nextjs.org/docs/app/building-your-application/routing/error-handling
能否支持通过 npx 命令行调用?应该只需要加一点配置和几行代码
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4659 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 09:51 · PVG 17:51 · LAX 01:51 · JFK 04:51
Developed with CodeLauncher
♥ Do have faith in what you're doing.