Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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
JS Lab2017_Сергей Селецкий_System.js и jspm
JS Lab2017_Сергей Селецкий_System.js и jspm
Code Examples
СПАСИБО

More Related Content

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