V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  chnwillliu  ›  全部回复第 6 页 / 共 9 页
回复总数  176
1  2  3  4  5  6  7  8  9  
2022-08-18 20:27:48 +08:00
回复了 ignor 创建的主题 JavaScript js 在 import 之前,为什么需要先显式声明 export 呢?
那你先列举一下默认导出顶层作用域中的变量比默认不导出有什么优势。顶层变量不想导出还得专门引入一种语法来声明不是?像 python 一样用下划线么?还是用其他关键字?结果和默不导出不就是一回事吗?

let a=1; //不导出
export let b = 2; //加关键字导出,和 java 的 public 岂不是一样?
export {a}; // export 还可以导出已有内部变量
2022-08-18 19:55:24 +08:00
回复了 Jexxie 创建的主题 JavaScript 如何监听浏览器中同一域名的 tab 全部关闭?
不妨想想为什么登出一定要调用 logout 接口,不调用会有什么后果?是后端有资源要释放么?用户浏览器直接崩也是可能没机会调用 js 的 unload 的,所以关键逻辑不能依赖 logout 接口。
2022-08-18 19:47:32 +08:00
回复了 Jexxie 创建的主题 JavaScript 如何监听浏览器中同一域名的 tab 全部关闭?
@v2eb 关闭和刷新分不出来的,只有一个 tab 一刷新结果登出了?
2022-08-18 19:24:18 +08:00
回复了 yxcoder 创建的主题 程序员 JS 多次请求 如何使后者覆盖前者
就是典型的 switchMap 场景,自动 unsubscribe 上一次产生的流,自动切到最新的流上去。

id$ = new Subject();

price$ = id$.pipe(
switchMap(id => getPriceById(id))
)

// merge + map 很干净,省一个 subject
isLoading$ = merge(
id$.pipe(mapTo(true)),
price$.pipe(mapTo(false))
);

getPriceById 需要返回一个 observable, unsubscribe 时 abort 请求即可。

切商品直接 id$.next(newId), price$ 和 isLoading$ 会自动更新。上一次没完成的请求 switchMap 会自动 unsubscribe ,简直毫无负担。
2022-08-18 18:38:00 +08:00
回复了 yxcoder 创建的主题 程序员 JS 多次请求 如何使后者覆盖前者
对,rxjs 下 switchMap 很简单。
2022-08-05 20:54:00 +08:00
回复了 aqtata 创建的主题 程序员 怎样让两台设备通过 PC 连接?
桥接正解。
2022-07-28 20:21:18 +08:00
回复了 luffy 创建的主题 程序员 JS axios async/await 好像只能返回 promise
@nothingistrue js 也有的,不过不是线程,是 worker ,更像是进程就是了,而且没法直接共享内存,要借助 shared buffer, 但也是可以以阻塞模式 wait 对方,等对方 notify 再继续跑的。也就是借助 Atomics 相关的 API 。一些库可以利用这个把复杂异步操作封装进另一个 worker ,对外呈现同步阻塞的调用方式,很有意思。
2022-07-28 04:22:29 +08:00
回复了 luffy 创建的主题 程序员 JS axios async/await 好像只能返回 promise
开一个 worker 然后 shared memory, 然后用 Atomics.wait 挂起等待 worker 完成请求。。。。
2022-07-24 19:48:25 +08:00
回复了 t41372 创建的主题 NAS 如何在全程不接入显示器的状况下架设起一台服务器
这不就是类似装树莓派的方法嘛,x86 下应该也有类似的 linux 发行版?

树莓派是完全可以用 tf 卡配置好 wifi 或有线网络,打开 ssh ,vnc 等服务,插上卡一通电直接 ssh 或者 vnc 连接就行了。
2022-07-13 20:17:15 +08:00
回复了 acbot 创建的主题 Vue.js 初学 Vue 的几个问题,求解!
@acbot 你把编译生成的文件和代码想象成传统编译语言生成的产物,就不会纠结它生成了什么代码,生成的文件用了什么命名规则了。那些重要吗?并不。你把整个 dist 目录当作一个整体,给个服务器一 host ,浏览器里就能跑了,这就行了。debugging 自有 source mapping 处理。就跟 C 语言编译生成了什么样的二进制文件内容,我们并不关心,只要它确实还原了源代码的意图,就 ok.
2022-07-13 19:56:52 +08:00
回复了 acbot 创建的主题 Vue.js 初学 Vue 的几个问题,求解!
4. 一个网站一天一发布甚至一天发布好几次,发布一次就人为改一次名称么?显然不现实。就算改你打算怎么起名字? script_v1 script_v2 么? content hash 有什么不好的。这都是 web 发展这么多年来大家总结出来的行之有效的方案。
2022-06-06 06:25:14 +08:00
回复了 satoru 创建的主题 分享发现 汉字不分性别的“他”
@Suigintou 看语境吧,离了语境什么都可以变得模棱两可。

英语的 you 不分你还是你们,叔叔舅舅大姨姑妈也不分呢。
2022-06-03 19:53:34 +08:00
回复了 Eyon 创建的主题 问与答 没搞懂 HTTP 请求的安全验证,求指导!
@Eyon

"没有设计用户系统,所以我就不知道这个东西的意义在哪里。"

这就是问题所在啊。不同系统对鉴权的要求不一样。

你开了家图书馆,读者进来只要到服务台领一张通行证跑到入口处,保安一看通行证,上写天王盖地虎,就让你进了。这就是你在用的认证。下次你知道口令了,自己弄了张一样的纸写上天王盖地虎,保安照样让你进。

你觉得这样不对是吗,那是因为你的图书馆不应该用这种最简单的方式呀。

HTTP authorisation 并没有限制你只能用天王盖地虎这种对口号的方式鉴权。你可以有用户系统,鉴定用户名密码,每次报用户名密码太烦了,那可以鉴定一次然后发临时通行证。没有用户系统还要对任意用户提供服务,那要哪门子 authorisation 。
2022-06-03 19:20:52 +08:00
回复了 Eyon 创建的主题 问与答 没搞懂 HTTP 请求的安全验证,求指导!
Http 协议只是提供了一种建议的鉴权方式,它方便你的服务端去鉴别 user agent 发起的这次请求是否符合某些身份要求。在 Http 协议的概念里是没有浏览器这种东西的,只有 user agent, 或者说 http client 端。
2022-06-03 19:12:33 +08:00
回复了 Eyon 创建的主题 问与答 没搞懂 HTTP 请求的安全验证,求指导!
@Eyon

“用户既然看得到这个 Authorization: Basic xxxxxxxx 这一串,可以直接在 Postman 中请求得到 json 格式的帖子列表,而用不着抓包,这个不是很尴尬吗?”

一点也不尴尬啊。浏览器又叫 user agent, 本来 user agent 就可以有很多种形式,postman 是,你代码里的 http client 也是,甚至命令行的 curl ,他们都是 user agent 。http 又不是设计来只给浏览器用的。
哦,这个是你自己的 webview 对吧,那抓包看下 cors preflight 请求。因为你的 Token 是自定义 header 所以这个 get 就变成了非简单请求, 服务器对 preflight 要响应 access-control-allow-headers 允许你这个 header.
抓个包,看下是不是有这个请求头,可能是 webview 层拦截了。
2022-05-12 09:16:33 +08:00
回复了 autoxbc 创建的主题 CSS CSS 的缩进写法没有普及令我感到诧异
如果 class 和 DOM 有唯一对应性,其实利用 SASS 的嵌套结构或者直接 css 的后代选择器重复 parent 路径也未尝不可,啰嗦了一点罢了,但也是体现了 DOM path ,额外增加的权重也无所谓啊反正你是一一对应不是。

如果不想嵌套选择器,那 BEM 命名就很好呀,也不用缩进了。

我觉得这不成问题的主要原因还是,前端都在搞组件化,样式都变成 scoped 的,随组件一起管理。全局样式文件里就最基本的 reset, typography 相关的。你说的 class 和 DOM 对应的样式,都在组件里放着,组件拆得细,单个样式表就非常小。组件范围内要定位 class 对应的 DOM 就非常简单啊。稍微大一点的组件,BEM 或者 SASS 嵌套就搞定了。

缩进体现层级的方案在传统的多页应用里可以实践,但 Vue, Angular, React 里完全没必要。
还有记得 prevent 掉 tab 键的默认效果,把用户锁住。
事件冒泡,然后在这个引导组件里监听 body ,判断是否点击了要点击的元素,这样就不至于要塞 hook 到实际的业务代码里了。

至于遮罩,现代 CSS 对付这点儿事还是小菜一碟的,mask clip-path 兼容性都很好。
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1148 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.