什么才是开发油猴脚本最好的体验

2022-05-09 11:05:25 +08:00
 lisongeee
我发现现有的辅助油猴脚本开发的体验都一言难尽

比如需要手动配置 UserScript ,我为什么不能自动配置自动在浏览器打开呢,配置更改的时候也自动在浏览器打开

还有 @require 的配置,我为什么不能在插件里配置库的 cdn 链接,然后自动注入 UserScript 。而且这个是随打包的版本确定的,不是静态的

还有开发时热重载的体验,我想要类似开发 vue/react 项目的正常体验,大多数操作只需要局部刷新,不需要刷新宿主页面

因此为了实现这些良好的体验,我开发了一个 vite 插件

https://github.com/lisonge/vite-plugin-monkey/blob/main/README_zh.md

得益于 vite 明确区分了 server 和 build 的良好架构,

只要稍做配置,你甚至能将现有的 vue/react 项目直接转成 油猴脚本

当然有什么用的不舒适的地方可以直接指出
4665 次点击
所在节点    分享创造
52 条回复
wxf666
2022-08-22 22:10:55 +08:00
@lisongeee 我觉得在行首 /多个空白字符间,加入零宽字符,是可取的。如:

> <零宽><空格><零宽><空格><零宽><空格><零宽><空格>return<空格>'ok'

插件去掉 <零宽> 后,就能让代码渲染器正常工作了


优点:

1. <空格>应该不会被 v 站 吃掉
2. 对于未装插件的人而言,视觉上没有影响
3. 额外占用的空间不多


缺点:

1. 未装插件的人,直接复制代码,会有<零宽>阻碍正常运行,但又肉眼不可见,可能找不到问题所在?
lisongeee
2022-08-23 14:21:58 +08:00
@wxf666

v1.1.0 更新日志
由于 V2EX 会删除评论代码缩进, 因此插件会自动格式化代码, 支持的语言有 js/jsx/ts/tsx/json/json5/html/vue/scss/css/less/java
ltkun
2022-08-23 15:49:06 +08:00
### 帅气的 OP!
duanluan
2022-09-23 17:00:37 +08:00
有没有交流群或者什么的
lisongeee
2022-09-23 17:12:52 +08:00
@duanluan 这东西要啥交流群啊?有问题直接去 issues 问就行,个人感觉交流群没有代码的感觉
duanluan
2022-09-23 17:20:39 +08:00
@lisongeee issues 提使用上的疑问总感觉有点突兀,搞个交流群也适合快速反馈想法、问题,也方便新手更快入门,就坚持使用下来了。
lisongeee
2022-09-23 17:36:56 +08:00
谢谢,你说的交流群我感觉更适合 app 这种较大型项目,我这个插件并没有很多功能,我觉得文档和例子已经很详细

不过我刚刚把项目的 [discussions]( https://github.com/lisonge/vite-plugin-monkey/discussions) 打开了,不想用 issues 可以用这个

其实我仔细思考了一下,觉得你说的还是挺有道理的,但我是个咸鱼懒狗,对交流群这种兴趣不大,抱歉
duanluan
2022-09-23 17:38:45 +08:00
就是你回复过我的主题,你也看到了我那个仓库是一个 webpack 底下有多个 tampermonkey 项目,然后还有公共的 utils 目录,同时设置了别名,以供这三个项目调用,但是用 vite 的话我就不太清楚要怎么搞了,不太好迁移。
lisongeee
2022-09-23 17:57:54 +08:00
@duanluan
> 就是你回复过我的主题,你也看到了我那个仓库是一个 webpack 底下有多个 tampermonkey 项目,然后还有公共的 utils 目录,同时设置了别名,以供这三个项目调用,但是用 vite 的话我就不太清楚要怎么搞了,不太好迁移。

我认为 `单个仓库里有多个油猴脚本的项目结构` 其实很适合 我这个插件使用的 pnpm [monorepo]( https://juejin.cn/post/6944877410827370504) ,这个和用 vite 还是 webpack 构建没有关系。

vue/vite/element/react 以及很多知名的框架都是这种 monorepo 结构,评论篇幅太小不好展开说

至于你说的 `不太好迁移` ,如果你乐意,我可以帮你迁移并发起 pulls
duanluan
2022-09-23 18:05:27 +08:00
@lisongeee
> 我可以帮你迁移并发起 pulls
好耶!那自然是最好啦!!
lisongeee
2022-09-24 17:58:29 +08:00
@duanluan
> 好耶!那自然是最好啦!!

<https://github.com/duanluan/tampermonkey-scripts/pull/1>
marvincible
2023-05-23 12:58:21 +08:00
mark ,我也开发了好几个自用的油猴脚本了,每次都是从 0 开始,甚至 ui 都是纯 js 撸,太 low 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851687

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX