V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lisongeee  ›  全部回复第 30 页 / 共 42 页
回复总数  833
1 ... 26  27  28  29  30  31  32  33  34  35 ... 42  
2022-08-18 11:53:19 +08:00
回复了 Jexxie 创建的主题 JavaScript 如何监听浏览器中同一域名的 tab 全部关闭?
一个可能可行的解法是 Service Worker ,它独立于 标签页 存在,你可以在每个标签页 onunload 的时候给 Service Worker postMessage ,然后 Service Worker 去调用 await clients.matchAll() ,如果得到的列表长度是 0 ,就 doYourWork
有一个问题,文档里没有说明 Service Worker 何时被停止,而且我懒得测试,你可以自己试试
2022-08-18 11:47:02 +08:00
回复了 Jexxie 创建的主题 JavaScript 如何监听浏览器中同一域名的 tab 全部关闭?
你这个代码根本不管用啊,sessionStorage 各个标签页是完全独立的
测试如下代码
```js
sessionStorage.setItem('reloaded', 'yes');
window.onunload = function(e) {
if (sessionStorage.getItem('reloaded') == null) {
fetch("http://127.0.0.1:8080/on", {
method: "GET",
keepalive: true
});
} else {
fetch("http://127.0.0.1:8080/off", {
method: "GET",
keepalive: true
});
}
};
```
只打开一个标签页然后关闭,结果如下
![img]( https://github.com/lisonge/src/raw/main/img/Snipaste_2022-08-18_11-43-07.png)
2022-08-18 10:17:57 +08:00
回复了 0xffSol 创建的主题 程序员 vite 编译速度没有宣传的那么快啊!
<运行 dev 环境也需要 3 分钟,搞不懂是什么问题!>
可能是你自定义了 UI 库的主题而且用是 sass 一类的变量,导致每次启动都要编译 ui 库的样式
如果你的样式是固定的,你可以设置缓存这个样式文件
2022-08-15 14:17:13 +08:00
回复了 hzwer 创建的主题 分享创造 让手绘动漫人设图动起来,一个开源 AI 项目
有没有坤坤打篮球的动作?
#11 可以优化一下,把 try/catch 去掉

```js
let controller = new AbortController();
setTimeout(() => {
controller.abort();
}, 6000);

let isOk = await fetch("https://baidu.com/", {
mode: "no-cors",
signal: controller.signal
}).catch(()=>false);
```
2022-08-11 10:32:14 +08:00
回复了 dxatgp02 创建的主题 Java Java 对象里为什么要用 get set?
楼主的问题也可以是 java 为什么要写 99% 都用不到的 额外的 空的 一堆什么也不干的 setter/getter
2022-08-10 20:41:55 +08:00
回复了 zficode 创建的主题 Visual Studio Code vscode 查看 js 函数间的关系
2022-08-10 11:30:17 +08:00
回复了 lisongeee 创建的主题 分享创造 什么才是开发油猴脚本最好的体验
更新:现在支持使用 esm 使用 GM_api
babel 只是一个 js 编译器,处理也得看输出格式是什么,graphviz-react 是一个 esm 规范的模块。

看起来 browserify 在你当前的配置下并不支持 解析 esm 模块,而 react 目前是一个 commonjs 规范的模块

你需要配置 browserify 让其支持 esm 模块,或者换成 webpack/vite
2022-08-05 10:49:23 +08:00
回复了 lisongeee 创建的主题 分享创造 什么才是开发油猴脚本最好的体验
更新了一下,又优化了一些问题,目前正在完善 GM_api 的类型注释和 让其支持 esm 引入

<https://github.com/lisonge/vite-plugin-monkey>
2022-08-04 17:16:17 +08:00
回复了 nmap 创建的主题 程序员 那些做油猴脚本/chrome 扩展的,有赢利点吗?
2022-08-04 17:15:40 +08:00
回复了 nmap 创建的主题 程序员 那些做油猴脚本/chrome 扩展的,有赢利点吗?
@shilianmlxg

应该是最便捷强大以及工程化的编写方式了

<https://github.com/lisonge/vite-plugin-monkey.git>
2022-08-04 11:29:39 +08:00
回复了 ignor 创建的主题 JavaScript js 在 import 之前,为什么需要先显式声明 export 呢?
js 模块化之后就可以《模块热替换》,这是前端构建工具最重要的特性之一,有了它就能极大地提高开发速度

你改动单个文件,构建工具根据这个文件找到依赖边界,浏览器界面就能进行局部刷新,而不是重新刷新这个标签页

比如你改动 vue 文件的 template ,你的界面上这个组件的区域就会刷新,但是你的状态还在,不会刷新整个页面

![hmr]( https://github.com/lisonge/src/raw/main/img/2022-07-18_18-00-12.gif)
2022-08-03 20:22:58 +08:00
回复了 yuhangch 创建的主题 Python Python 能不能像 node 一样管理包
node_modules 是有黑洞缺点,但是却解决了《单个项目直接或间接依赖了同一个库的不同版本》的问题

就是项目存在这样的依赖结构,这基本上是每个项目必现的问题
[email protected]
[email protected]
[email protected]

[email protected] 相对 [email protected] 发生完全破坏性更改,如何让 [email protected][email protected] 同时在这个项目正常工作?

除了 npm/pnpm/yarn 这类 node 包管理器,还有 deno ,我就没见过 《天然支持》多版本共存的依赖管理工具

另外 npm/yarn 以及 python 的 pip/pipenv/poetry 还有 java 的 maven/gradle 都存在 依赖提升 的问题,导致了你虽然只在项目声明了 A 包,但是你却可以直接使用 A 的依赖

比如 python 的 requests 依赖了 certifi ,你使用 pip 安装 requests 之后,你可以在你的项目里 import requests
也可以 import certifi ,但是这是不规范的,你只安装了 requests ,按理说应该只能 import requests ,不能使用 certifi
因为你没有 显式 声明或者安装

比如 java 的 com.blankj:utilcodex:1.31.0 这个包,它依赖了 com.google.code.gson:gson:2.8.5 ,当你在项目里声明这个包的依赖,虽然你的项目没有声明 com.google.code.gson:gson:2.8.5 但是你却可以直接使用 gson ,这就是依赖提升,
另外假设坏的情况下你的项目还有某个包依赖了 [email protected] ,它使用了 [email protected] 的一个 A 类,但是这个 A 类在 gson@2 里面没有,你不是得手动解决? maven/gradle 能自动解决这个问题吗?

但是 node_modules + pnpm 下这些问题都不存在,开发者不需要手动改 sys 或者额外弄个 classloader

因此对我个人而言,我基本没有遇见 node 的依赖问题 ,而现在我用 pnpm ,通过文件链接的方式,磁盘占用问题和依赖提升问题也得到了良好的解决

倒是我以前写 Android 的时候,老是要针对某个包 exclude ,编译老是提示某个包缺失 类,但是 node 下我从来没有遇见这些问题

解决 node 的 node_modules 的黑洞问题,用 pnpm 或者 deno 就行
2022-07-26 11:02:10 +08:00
回复了 DeweyReed 创建的主题 分享创造 开源一个 Jetpack Compose 撸的管理过期食物的小破应用啦!
gradle 可以换成强类型的 kts
room 还是编译时 sql ,代码重复度很高,还是一如既往的难用
打包可以用 github actions 别人在浏览器你的仓库就能线上打包 apk , 浏览器下载,不用 clone 和下载 Android studio
compose ui 还是残留 Android mvvm viewmodel 那套,抄 react 都抄不完,那个司马 navigation 难用得要 4 ,还不如直接抄 react-router
app 写得不错
2022-07-22 16:02:23 +08:00
回复了 cnoder 创建的主题 程序员 枚举类型是从 0 开始还是从 1 开始
可以从 1000 开始,这样 toString(10).length 是相等的,好对齐
2022-07-21 16:38:31 +08:00
回复了 Wallace01 创建的主题 问与答 身份证号的 X 是不是一个糟糕的设计?
下一代身份证可以在背面增加二维码表示身份证号,我去做核酸老是扫半天
2022-07-18 10:41:58 +08:00
回复了 PepperEgg 创建的主题 程序员 有没有 win 下好用的 JS 压缩工具
你要 cli 还是 gui ? cli 可以用 esbuild
https://esbuild.github.io/api/#minify
```shell
pnpm add -D esbuild
esbuild path/your.js --bundle --minify --outfile=path/your.mini.js
```
2022-07-17 17:03:05 +08:00
回复了 GreatAuk 创建的主题 Node.js nodejs 中文网要开 vip 收费了,会员费用为 199 元/年。
一个连 https 都不支持的 网站也好意思叫 nodejs 中文网?我已经加入 blocklist 名单了
1 ... 26  27  28  29  30  31  32  33  34  35 ... 42  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 20:34 · PVG 04:34 · LAX 12:34 · JFK 15:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.