mirror of
https://github.com/codex-team/editor.js
synced 2026-03-16 07:35:48 +01:00
Autoloading improved, utilities now global (#225)
* Autoloading improved, utilities now global
# Autoloading
Webpack специально не дает использовать переменные в реквайрах типа:
let moduleName = 'toolbar.js';
let module = require(moduleName);
У нас в автолоадинге было так:
let modules = editorModules.map( module =>
require('./components/modules/' + module ));
и это работало, но не так как нужно. Он подключал не только нужные
модули из массива editorModules, а вообще все модули из папки
components/modules. Я заметил, что они попадают в сборку, хоть и не
указаны в реквайрах. Оказывается это так и задумано: Webpack на этапе
компиляции не знает что будет в переменной, то есть какой там будет
модуль. А ему нужно высчитать время компиляции, поэтому он вкладывет в
сброрку тупо все файлы из этой папки, и для каждого высчитывает время.
Так что по сути это было то же самое что просто написать
require('./components/modules/') и подключить все файлы.
Но наш автолоадер должен был подключать только указанные файлы, не
заходить в подпапки и не включать файлы, начинающиеся с подчеркивания.
Теперь автолоадинг работает так, как и задумывалось.
# Global visible modules
Теперь не нужно в каждом файле писать
import $ from '../dom';
и тд. Они автоматически будут доступны внутри модулей
* Update util.Dom
* Remove duplicated Babel helpers. Now it will be defined at once
This commit is contained in:
parent
56e1641339
commit
5f670c3985
15 changed files with 1341 additions and 6496 deletions
|
|
@ -54,7 +54,6 @@
|
|||
<!--<link rel="stylesheet" href="plugins/attaches/attaches.css">-->
|
||||
|
||||
<script src="../build/codex-editor.js?v=108"></script>
|
||||
<link rel="stylesheet" href="../build/codex-editor.css?v=11000">
|
||||
|
||||
<script>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue