代码拉取完成,页面将自动刷新
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const createHash = require("./util/createHash");
const RequestShortener = require("./RequestShortener");
const getHash = str => {
const hash = createHash("md4");
hash.update(str);
const digest = /** @type {string} */ (hash.digest("hex"));
return digest.substr(0, 4);
};
class NamedModulesPlugin {
constructor(options) {
this.options = options || {};
}
apply(compiler) {
compiler.hooks.compilation.tap("NamedModulesPlugin", compilation => {
compilation.hooks.beforeModuleIds.tap("NamedModulesPlugin", modules => {
const namedModules = new Map();
const context = this.options.context || compiler.options.context;
for (const module of modules) {
if (module.id === null && module.libIdent) {
module.id = module.libIdent({ context });
}
if (module.id !== null) {
const namedModule = namedModules.get(module.id);
if (namedModule !== undefined) {
namedModule.push(module);
} else {
namedModules.set(module.id, [module]);
}
}
}
for (const namedModule of namedModules.values()) {
if (namedModule.length > 1) {
for (const module of namedModule) {
const requestShortener = new RequestShortener(context);
module.id = `${module.id}?${getHash(
requestShortener.shorten(module.identifier())
)}`;
}
}
}
});
});
}
}
module.exports = NamedModulesPlugin;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。