У меня есть проект Webpack, где я использую jQuery и bootstrap следующим образом:
// js/app.js
import $ from "jquery";
import "bootstrap";
// $('.selector').find(...)
Webpack настроен так с помощью Encore:
// webpack.config.js
var Encore = require("@symfony/webpack-encore");
if (!Encore.isRuntimeEnvironmentConfigured()) {
Encore.configureRuntimeEnvironment(process.env.NODE_ENV || "dev");
}
Encore
.setOutputPath("public/build/")
.setPublicPath("/build")
.addEntry("app", "./js/app.js")
// When enabled, Webpack "splits" your files into smaller pieces for greater optimization.
.splitEntryChunks()
.enableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.configureBabelPresetEnv(config => {
config.useBuiltIns = "usage";
config.corejs = 3;
})
.enableSassLoader()
.enablePostCssLoader()
.copyFiles({
from: "./assets/images",
to: "images/[path][name].[hash:8].[ext]"
})
.autoProvidejQuery()
.enableReactPreset();
module.exports = Encore.getWebpackConfig();
Я заметил что странная window.jQuery341088885197974261661
(числовая часть 341088885197974261661
изменяется при каждой перезагрузке) продолжает определяться глобально на window
при каждой загрузке / перезагрузке страницы и имеет следующую форму:
{
"events": {
"load": [
{
"type": "load",
"origType": "load",
"guid": 4,
"namespace": "bs.button.data-api"
},
{
"type": "load",
"origType": "load",
"guid": 6,
"namespace": "bs.carousel.data-api"
},
{
"type": "load",
"origType": "load",
"guid": 13,
"namespace": "bs.data-api.scrollspy"
}
]
}
}
Объект также есть метод handle
, определенный следующим образом в источнике jquery. js (строка 5039):
...
eventHandle = elemData.handle = function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
jQuery.event.dispatch.apply( elem, arguments ) : undefined;
};
...
Что это за объект window.jQuery341088885197974261661
и как мне избежать его определения на window
чтобы все в моем пакете оставалось локальным?
Спасибо!