Пытаюсь собрать библиотеку JS написанную на es6 в бандл. Для модулей используется import/export и пресет es2015 Либа имеет следующую структуру.
./src/
Unit1.js
Unit2.js
...
UnitN.js
Entry.js //Точка входа
В точке входа собираю в пространство имен экспортируемые классы
import A from 'MyLib/Unit1.js'
import B from 'MyLib/Unit3.js'
import C from 'MyLib/UnitN.js'
export default {
A: A,
B: B,
C: C
};
конфиг webpack:
{
context: lib_path,
entry: './Entry.js',
output: {
path: `${__dirname}/dist`,
filename: 'bundle.js',
library: 'MyLib'
},
module: {
loaders: [{
test: /.js$/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}]
},
resolve: {
root: lib_path,
alias: {
MyLib: './'
}
}
}
Проблема в следующем я могу определить пространство имен в конфиге webpack(output.library), но тогда для обращения к классам библиотеки нужно использовать конструкции MyLib.default.A хотелось бы исключить слово default.
В общем судя по всему webpack ничего не режет, и нужно просто правильно применить синтаксис es6-модулей.
Вот очень подробная статья на английском.
Нам не нужен экспорт по умолчанию, нам нужны именованные экспорты, поэтому просто убираем слово default:
export {
A: A,
B: B,
C: C
};
А теперь видим на это, и понимаем что можем применить es6-фичу которая позволяет кратко объявлять такие объекты и напишем просто
export {A, B, C}
Собственно такой формат экспорта можно увидеть очень часто. Там где предпочитают экспортировать модуль в одном месте а не по кусочкам.
Добрый день, есть ли в слике возможность выводить не первые скажем 5 слайдов, а последние 5 ?
Привет всем! Недавно начал познавать мир jQuery и его магию, и состряпал алгоритм для ротатора картинокВсе работает, к моему удивлению, но я бы не проч...
В общем, есть страница, где я работаю с ajax и jqueryС одной половины страницы размещены 3 инпута, куда я загоняю инфу, со второй размещена таблица,...