V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  XCFOX  ›  全部回复第 2 页 / 共 12 页
回复总数  223
1  2  3  4  5  6  7  8  9  10 ... 12  
你可能在找 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
287 天前
回复了 RedBeanIce 创建的主题 Go 编程语言 [natsio] 使用入门问题
除了添加 WaitGroup 用于等待消息,你还得在发布端使用 defer nc.Close() 而不是 defer nc.Drain(),Drain 状态下是不能发布消息的。
287 天前
回复了 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
297 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
@tlerbao 使用 vite 的话,在 dev 模式下不会自动 tree shaking ,但在 build 时会 tree shaking ,使用 webpack 始终会自动 tree shaking
297 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
@tlerbao #15 不会,有 tree shaking
297 天前
回复了 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'
297 天前
回复了 tlerbao 创建的主题 程序员 前端:大家的 API 都是怎么导入导出的?
几乎不用 export default ,因为 export default 不方便配合桶文件使用
320 天前
回复了 byqtxdy07 创建的主题 程序员 ts 使用 grpc ts-proto 的一点问题
只能说 TypeScript 领先太多了。grpc 是带着 C/C++、Go 的包袱设计的。在 Go 中不传值就是零值,根本没办法区分 undefined 和空字符串。
能用 json 还是用 json 吧,根本不差 protobuf 那点性能。如果是服务间通讯的话试试 nats 消息中间件,实测延迟比 grpc 低,速度比 grpc 快。
324 天前
回复了 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 命令行调用?应该只需要加一点配置和几行代码
你是否在找 GraphQL ?
335 天前
回复了 nnegier 创建的主题 Java [Spring] WebSocket 怎么做到集群?
如果是服务端主动推送的场景的话,可以考虑一下使用消息中间件 NATS: https://nats.io/

NATS 内置了楼上提到的负载均衡、广播等功能。
NATS 能够通过 SDK 与前端、客户端直接连接。
NATS 能够很方便地实现水平扩展,NATS 能够与你的用户权限体系集成。

https://docs.nats.io/running-a-nats-service/configuration/websocket/websocket_conf
npm pack 一下会得到一份模块压缩包。把这个压缩包扔到 oss 上,或者再开一个仓库专门用来存模块包,或者直接把模块扔 a,b 项目仓库里。

从 url 安装模块:npm install https://github.com/indexzero/forever/tarball/v0.5.6
从 本地安装模块: npm install ./package.tgz

参考:
https://docs.npmjs.com/cli/v10/commands/npm-pack
https://docs.npmjs.com/cli/v10/commands/npm-install
https://pnpm.io/zh/cli/pack
https://pnpm.io/zh/cli/install
https://yarnpkg.com/cli/pack
https://yarnpkg.com/cli/add
恭喜你找到了 React.createElement ,再省略一下每句必带的父组件名,换成 xml 带嵌套写法,恭喜你找到了 jsx
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   853 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 21:33 · PVG 05:33 · LAX 13:33 · JFK 16:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.