Я программист HTML/CSS/PHP/MYSQL, теперь пытаюсь изучить некоторые javascript. Я делаю это, выкапывая код веб-почты, который я использую в настоящее время (с открытым исходным кодом), и пытаюсь понять, как это работает. Я пытаюсь понять, как загружаются разные части страницы (без перезагрузки страницы, которые вы получили бы на PHP). Если я не ошибаюсь, используйте webpack для этого. Каждая часть страницы загружается как модуль, если я не ошибаюсь.
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "webmail/v/0.0.0/static/js/";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
Кажется, что это (часть) кода, который делает эту магию возможной. Теперь, позже в коде webpack используется следующим образом:
AbstractSystemDropDownUserView.prototype.settingsClick = function ()
{
__webpack_require__(/*! Knoin/Knoin */ 5).setHash(Links.settings());
};
Если я прав, эта функция загружает модуль при нажатии на кнопку, понравившуюся settingsClick. Однако, где указаны номера модулей/назначены?
Любая помощь в получении меня на моем пути очень ценится!