是否应该缩小仅由用户脚本使用的库?
Should a library used solely by userscripts be minified?
在我的用户脚本中,我经常 @require
一个自写的 javascript 库。我想知道这会产生多少负载。每次执行用户脚本时是否(重新)加载库?还是只加载第一次,然后缓存?缩小它会有很大的不同吗?
我查看了 tampermonkey docs,但他们没有对此进行详细说明。他们只声明图书馆 "is loaded and executed before the script itself starts running".
缩小这个库有多重要?由于我经常对库进行更改,因此我宁愿避免每次都将其缩小的额外步骤。缩小这样的库有什么优点和缺点?
此外,脚本检查频率的精确细节也会发生变化。但它 usually/is supposed/used 的工作原理如下:
- 安装 脚本后 ,
@require
库被提取并保存到磁盘(现在作为扩展数据的一部分存储在 LevelDB 数据库中)。
- 当
@require
字符串改变时,重新获取脚本。
- (可能吗?)如果 脚本本身已更新,则会重新获取脚本 (版本更改)
- 曾几何时,Tampermonkey 可能会在每个脚本中获取脚本 运行?!
- Tampermonkey 用于获取
@require
d 个脚本,每 file://
URL 秒,作为对开发人员的帮助。但是这停止工作并且不确定当前状态是什么。
重点是名义上,所需的文件(使用机外URL)应该运行来自磁盘或缓存并且速度非常快。
所以取舍:
不要最小化因为:
- 在用户脚本场景中,通常不会产生任何性能差异。
- 脚本更容易调试。
- develop/deploy 过程中的步骤更少。
尽量减少因为:
@require
d 脚本有很大的安装基础,托管服务器负载是一个问题。
- 文件足够大,最小化可以节省大量 space,比如 100K。
- 该文件也“正常”使用(
<script>
标签的 EG)——因此带宽更为重要。 (不是每个人都有高速连接等)
- 您想让别人更难“窃取”您宝贵的代码。 (出于完整性考虑,我不推荐这样做。)
在我的用户脚本中,我经常 @require
一个自写的 javascript 库。我想知道这会产生多少负载。每次执行用户脚本时是否(重新)加载库?还是只加载第一次,然后缓存?缩小它会有很大的不同吗?
我查看了 tampermonkey docs,但他们没有对此进行详细说明。他们只声明图书馆 "is loaded and executed before the script itself starts running".
缩小这个库有多重要?由于我经常对库进行更改,因此我宁愿避免每次都将其缩小的额外步骤。缩小这样的库有什么优点和缺点?
此外,脚本检查频率的精确细节也会发生变化。但它 usually/is supposed/used 的工作原理如下:
- 安装 脚本后 ,
@require
库被提取并保存到磁盘(现在作为扩展数据的一部分存储在 LevelDB 数据库中)。 - 当
@require
字符串改变时,重新获取脚本。 - (可能吗?)如果 脚本本身已更新,则会重新获取脚本 (版本更改)
- 曾几何时,Tampermonkey 可能会在每个脚本中获取脚本 运行?!
- Tampermonkey 用于获取
@require
d 个脚本,每file://
URL 秒,作为对开发人员的帮助。但是这停止工作并且不确定当前状态是什么。
重点是名义上,所需的文件(使用机外URL)应该运行来自磁盘或缓存并且速度非常快。
所以取舍:
不要最小化因为:
- 在用户脚本场景中,通常不会产生任何性能差异。
- 脚本更容易调试。
- develop/deploy 过程中的步骤更少。
尽量减少因为:
@require
d 脚本有很大的安装基础,托管服务器负载是一个问题。- 文件足够大,最小化可以节省大量 space,比如 100K。
- 该文件也“正常”使用(
<script>
标签的 EG)——因此带宽更为重要。 (不是每个人都有高速连接等) - 您想让别人更难“窃取”您宝贵的代码。 (出于完整性考虑,我不推荐这样做。)