[BiliBili]视频右键菜单工具(油猴脚本)

地址:https://gist.github.com/JiaJiaJiang/c54abe1227917af3d3825dfa098b9473

安装:在浏览器有tampermonkey插件的情况下,点上面链接里的RAW按钮安装

功能:

  • 右键视频变速按钮:添加新版播放器中被砍掉的右键菜单视频变速按钮
  • 跳过OP、ED快捷键:ctrl+左右键可以跳过一般op和ed长度的时间(1分30秒)
  • 右键截图按钮:点击后将当前视频画面完整截图并在新窗口中打开

 

[Node.js]ES模块和CommonJS模块的导入

在使用ES导入语法的文件中想要使用require导入一个CommonJS模块的话,可以使用module.createRequire来创建一个require函数。

import { createRequire } from 'module';
const require = createRequire(import.meta.url);

 

在一般的使用CommonJS导入语法的文件中想要使用ES语法导入模块的话,可以使用`import`函数,要注意的是这是一个异步函数,返回一个`Promise`,所以需要`await`它或者使用`then`来等待返回结果,如下

(async()=>{
	const fs=await import('fs);
})();

 

[Browserify]异步插件导致write after end错误

写了个Browserify插件,之前一直没问题,但今天我改了点打包流程,结果一直报`write after end`错误,找了半个晚上,发现是因为我的插件函数写的是异步的,里面有个await异步读文件。

之前一直没出问题是因为后面的打包流程时间够长,能让这个插件正常执行完,但今天改了流程之后部分情况下很快就执行完了,于是当插件异步流程执行完后继续就出错了,修正方法是把异步文件读取改成同步的。