JSPM ИЛИ КАК ОБОЙТИСЬ БЕЗ WEBPACK’А СЕРГЕЙ СЕЛЕЦКИЙ @SSELETSKYY
ПРОВЕРКА МИКРОФОНА
О ЧЕМ МЫ ПОГОВОРИМ • Кто я. Где я. И почему. • Что такое SystemJS и jspm • Как сконфигурировать проект • Пишем только на ES6 • Модульная сборка против bundle-sfx
Кто я Frontend (React) developer - сейчас 
 Full stack (Ruby,JS) TL - с 2012г Java, PHP, C++, Delphi - до 2012г
Кто я Ruby TL React/Redux dev
Кто я Ruby TL React/Redux dev Lohika Internal Training Program
Lohika Internal Training Program Главная задача - сделать блог 
 Какие использовать библиотеки? it’s up to you!
Lohika Internal Training Program Главная задача - сделать блог 
 Backend API - NodeJS Frontend Vanilla JS (ver 1) Frontend React/Redux (ver 2) Libs: express, jade/pug, sequelize, SQL
Lohika Internal Training Program Главная задача - сделать блог 
 Backend API - NodeJS Frontend Vanilla JS (ver 1) Frontend React/Redux (ver 2) Libs: handlebars, lodash, text
Lohika Internal Training Program Главная задача - сделать блог 
 Backend API - NodeJS Frontend Vanilla JS (ver 1) Frontend React/Redux (ver 2) Libs: redux-thunk, lodash
SystemJS
SystemJS АСИНХРОННЫЙ ЗАГРУЗЧИК JS МОДУЛЕЙ ЛЮБЫХ ИЗВЕСТНЫХ ФОРМАТОВ
SystemJS ОНО СКАЧИВАЕТ ЛЮБЫЕ ES6 ФАЙЛИКИ 
 И ПОДГОТАВЛИВАЕТ ИХ ДЛЯ РАБОТЫ В НЕСМЫШЛЕНОМ БРАУЗЕРЕ
SystemJS ESM CJS AMD GLOBAL SYSTEM
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module CommonJS
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module CommonJS Async Module Definition
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module CommonJS Async Module Definition свят-свят
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module CommonJS Async Module Definition свят-свят System.register(Dynamic)
SystemJS ESM CJS AMD GLOBAL SYSTEM ECMAScript Module CommonJS Async Module Definition свят-свят System.register(Dynamic) Web Assembly ! Экспериментальная поддержка в версии 0.20
SystemJS
SystemJS ДЕПИЛЯЦИЯ ТРАНСПИЛЯЦИЯ ПРЯМО В БРАУЗЕРЕ Traceur Babel TypeScript
Browser Development В таком виде подгружает модули всех форматов
Browser Production В таком виде подгружает только модули предварительно подготовленные в формат System.register
Browser Production В таком виде подгружает только модули предварительно подготовленные в формат System.register И тут без Webpack’a не обойтись! Шутка
JSPM JAVASCRIPT PACKAGE MANAGER
JSPM Менеджер пакетов для SystemJS Загружает пакеты из npm и Github Есть CLI для установки пакета по принципу `npm i` Глобальный реестр http://jspm.io package.json используется для регистрации пакетов
JSPM baseURL — путь к папке public относительно package.json. jspm_packages — папка куда jspm будет устанавливать все внешние зависимости. 
 config.js — основной файл настроек в папке baseURL. 
 Client baseURL — URL папки public для браузера 
 Transpiler — используемый транспайлер. (по умолчанию babel).
JSPM $ npm i jspm [-g] $ ./node_modules/.bin/jspm init $ jspm i react $ jspm inspect | grep react
 > npm:react 15.4.2
Code Examples
СПАСИБО

JS Lab2017_Сергей Селецкий_System.js и jspm