您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Expose webpack modules to userscripts
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/473902/1240854/Webpack.js
- function isNonEmptyObj(obj) {
- if (obj === null || (typeof obj !== 'function') && (typeof obj !== 'object')) {
- return false;
- }
- for (const prop in obj) {
- return true;
- }
- return false;
- }
- // Based on `Webpack-module-crack` and `moduleRaid`
- class webpack {
- constructor(options) {
- const { moduleId, chunkId, entryPoint } = options || {};
- this.moduleId = moduleId || Math.random().toString(36).substring(2,6);
- this.chunkId = chunkId || Math.floor(101 + Math.random() * 899);
- this.modules = {};
- this.data = [
- [this.chunkId], {
- [this.moduleId]: (module, exports, require) => {
- const modules = require.m;
- const deferredModule = require.s;
- const installedModules = require.c;
- for (const id in installedModules) {
- const exports = installedModules[id].exports;
- if (isNonEmptyObj(exports)) {
- this.modules[id] = exports;
- }
- }
- }
- }, [[this.moduleId]]
- ];
- if (entryPoint) {
- this.inject(entryPoint);
- } else {
- this.inject("webpackJsonp");
- }
- }
- inject(entryPoint) {
- try {
- if (unsafeWindow) {
- unsafeWindow[entryPoint].push(this.data);
- } else {
- window[entryPoint].push(this.data);
- }
- } catch(err) {
- console.log(`Injection failed: ${err}`);
- }
- }
- }