Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Обсуждений тред (https://javascript.ru/forum/offtopic/47364-obsuzhdenijj-tred.html)

Gozar 02.02.2015 14:17

Цитата:

Сообщение от melky
import React from 'react'

Ты делаешь импорт или это прикол? Я подключаю отдельно на страницу.

melky 02.02.2015 14:23

Цитата:

Сообщение от Gozar (Сообщение 354604)
Ты делаешь импорт или это прикол? Я подключаю отдельно на страницу.

делаю импорт. график зависимостей (сделал через webpack):
выделен сам React (чёрная точка) и модули, откуда я его импортирую (красные точки)

nerv_ 02.02.2015 15:24

Цитата:

Сообщение от Zend
Если хочется быть чуть ближе к ES6 возьмите и запилите то что можно запилить через прототип. Т.е. встроенные классы расширьте (типа Array.prototype.крутой_метод_из_бу �ущего), а class я бы пока оставил.

Я брал ES6 из-за class, extends, super и тому подобных фич, ибо очень неочевидный код получается на es5.

Цитата:

Сообщение от melky
import React from 'react'


аминь

аминь https://yadi.sk/i/yaZUUcMneQgbx Эт только один модуль)

melky 02.02.2015 16:04

Цитата:

Сообщение от nerv_ (Сообщение 354623)
Я брал ES6 из-за class, extends, super и тому подобных фич, ибо очень неочевидный код получается на es5.


аминь https://yadi.sk/i/yaZUUcMneQgbx Эт только один модуль)

ты же webpack используешь?

не затруднит ли тебя показать статистику модулей? чистой воды любопытство

для этого надо дописать к массиву плагинов webpack следующий плагин:
function() {
      this.plugin("done", function(stats) {
        require("fs").writeFileSync(
          path.join(__dirname, "stats.json"),
          JSON.stringify(stats.toJson()));
      });
    }


и собрать проект. после сборки появится файл stats.json. можно его сюда (на ядиск)?)

Gozar 02.02.2015 19:37

Цитата:

Сообщение от melky
делаю импорт.

А почему не в head?

Если пересобирать проект, то грузить придется вместе с React каждый раз?
Нельзя разбить сайт на страницы и подключать нужную часть. Если приложение SPA тогда наверное можно и забить, а вот если не SPA...

У меня кстати webpack ругается если я пытаюсь подключить react.min.js, warning: Вижу я что-то непонятное...

melky 02.02.2015 21:04

Цитата:

Сообщение от Gozar
А почему не в head?

нужна версия для разработки
Цитата:

Сообщение от Gozar
Если пересобирать проект, то грузить придется вместе с React каждый раз?

я пишу код с включенным Hot Load, так что все библиотеки грузятся один раз
Цитата:

Сообщение от Gozar
Нельзя разбить сайт на страницы и подключать нужную часть. Если приложение SPA тогда наверное можно и забить, а вот если не SPA...

угу, SPA :)
Цитата:

Сообщение от Gozar
У меня кстати webpack ругается если я пытаюсь подключить react.min.js, warning: Вижу я что-то непонятное...

нужно либо подключать исходник, либо прописать в конфиг игнор на парсинг минифицированных файлов

Zend 03.02.2015 12:05

Посаны а вы ES6 через webpack мутите?

Я попробовал просто
require("6to5/register");
require('./test.es6');


Ну и оно вроде норм.

Мне для бэкэнда только нужно. Имеет ли смысл компилить? Для дебага разве что.

melky 03.02.2015 13:17

Цитата:

Сообщение от Zend (Сообщение 354719)
Посаны а вы ES6 через webpack мутите?

Я попробовал просто
require("6to5/register");
require('./test.es6');


Ну и оно вроде норм.

Мне для бэкэнда только нужно. Имеет ли смысл компилить? Для дебага разве что.

у меня на бекенде enhanced-require, там же компилер 6to5.

но вообще, достаточно и register

Zend 03.02.2015 13:37

Цитата:

Сообщение от melky
но вообще, достаточно и register

Меня интересует вопрос дебага. Я боюсь что не удобно будет с преобразованием на лету. Грант не хочется туда лепить. Для фронтенда вроде как webpack сейчас очень модено, но годится ли он для бэкэнда? Точнее имеет ли смысл его прокручивать только ради компиляции es6. Или он ещё чем то сможет быть мне полезен на бэкэнде. Как вообще лучше всё организовать?

nerv_ 03.02.2015 15:10

Переписываю на es6 часть проекта, забавно выглядит фрагмент
было
/**
 * Resets dialog
 * @param {Array<Number>} edited
 */
EditingMultipleDialog.prototype.reset = function(edited) {
    EditingMultipleDialog.super_.prototype.reset.call(this);
    Array.prototype.push.apply(this.edited, edited);
};

стало
/**
 * Resets dialog
 * @param {Array<Number>} edited
 */
reset(edited) {
    super.reset();
    this.edited.push(...edited);
}

:)

Цитата:

Сообщение от melky
ты же webpack используешь?

пока на уровне мартышки :D

Цитата:

Сообщение от melky
для этого надо дописать к массиву плагинов webpack

у меня нет пока там плагинов)


Часовой пояс GMT +3, время: 14:42.