mirror of
https://github.com/codex-team/editor.js
synced 2026-03-22 18:14:36 +01:00
* 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
16 lines
191 B
Text
16 lines
191 B
Text
# --- proj files ---
|
|
.DS_Store
|
|
Thumbs.db
|
|
/.idea/
|
|
/*.sublime-project
|
|
/*.sublime-workspace
|
|
|
|
node_modules/*
|
|
/server/
|
|
/uploads/
|
|
|
|
plugins/personality/
|
|
|
|
npm-debug.log
|
|
|
|
build/__tmp_babel_helpers.js
|