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

kobezzza 03.07.2014 16:20

Цитата:

Сообщение от cyber_2.0 (Сообщение 319316)
kobezzza, а какие есть аналоги jossy?

r.js, browserserify, но jossy объективно лучше

melky 03.07.2014 16:48

Цитата:

Сообщение от cyber_2.0 (Сообщение 319316)
какие есть аналоги jossy?

Цитата:

Сообщение от kobezzza (Сообщение 319317)
r.js, browserserify

ES6 modules + traceur. сделают из кусков\файлов отдельные модули

и ещё эти модули нужно загрузить - можно по отдельности, можно сшить их все в один файл и грузануть

я пока так решаю проблему сшивания... сшиванием всех файлов в один :) осталось только найти способ сшивать те файлы, которые нужны, и дело в шляпе

Цитата:

Сообщение от kobezzza (Сообщение 319317)
jossy объективно лучше

пользовался им когда-то, но в итоге перебрался на grunt

kobezzza 03.07.2014 17:04

Цитата:

ES6 modules + traceur
Гм, тут же речь идёт о предварительной статичной сборке, а ES6 модули это сахарный AMD же.

Цитата:

jossy объективно лучше
Для условной статичной сборки проекта удобней jossy я не встречал, но может конечно плохо искал :)

Цитата:

я пока так решаю проблему сшивания... сшиванием всех файлов в один осталось только найти способ сшивать те файлы, которые нужны, и дело в шляпе
Вот как раз Jossy это делает оч хорошо, там можно ставить зависимости и метки.

melky 03.07.2014 17:06

Цитата:

Сообщение от kobezzza
Гм, тут же речь идёт о предварительной статичной сборке, а ES6 модули это сахарный AMD же.

быстро же ты ответил :)

Цитата:

Сообщение от kobezzza
Для условной статичной сборки проекта удобней jossy я не встречал, но может конечно плохо искал

хочу найти способ сшивать те модули, которые были вызваны, и тогда получится сборка совсем даже и неплохая

kobezzza 03.07.2014 17:08

Цитата:

быстро же ты ответил :)
На колбеке:)

Цитата:

хочу найти способ сшивать те модули, которые были вызваны, и тогда получится сборка совсем даже и неплохая
Что имеешь ввиду под "сшивать те, которые вызваны"?

Вот пример: https://github.com/kobezzza/Collecti...ter/builds.es6

Я могу закомментировать например строчку 'single.add': true, но для 'mult.addOrSet': true также нужен add, и Jossy про это знает и поэтому сможет удалить из сборки 'single.add' только тогда, когда на него перестанут ссылаться другие модули.

melky 03.07.2014 17:23

Цитата:

Сообщение от kobezzza
Что имеешь ввиду под "сшивать те, которые вызваны"?

компоновка\оптимизация. у requirejs есть такая штука

к примеру , у меня есть модули HelloWorld, Unused и файл app.js, где используется модуль HelloWorld, а Unused не используется.

при компоновке всего в один файл там должно быть содержимое файла app.js и модуля HelloWorld, а содержимое Unused записываться туда не должно

только вот не хочется использовать requirejs, а хочется использовать ES6 modules. как этого достичь, я пока не придумал... у гранта есть таск, где можно формировать список файлов с помощью функции и делегировать выполнение другому таску, но есть ещё вопрос - как отыскать зависимости то?

Цитата:

Сообщение от kobezzza (Сообщение 319331)
Вот пример: https://github.com/kobezzza/Collecti...ter/builds.es6

Я могу закомментировать например строчку 'single.add': true, но для 'mult.addOrSet': true также нужен add, и Jossy про это знает и поэтому сможет удалить из сборки 'single.add' только тогда, когда на него перестанут ссылаться другие модули.

для компоновки фич библиотеки выглядит очень удобно, но если есть проект в продакшене, за зависимостями человеку лучше вообще не следить. по крайней мере, мне это трудно делать :) а вот когда модуль сам говорит, от чего он зависит, так легче

такая же идея ("модуль говорит, от чего он зависит") у пакетов в линуксовых менеджерах пакетов. и у пакетов npm тоже

kobezzza 03.07.2014 17:32

Цитата:

для компоновки фич библиотеки выглядит очень удобно, но если есть проект в продакшене, за зависимостями человеку лучше вообще не следить. по крайней мере, мне это трудно делать а вот когда модуль сам говорит, от чего он зависит, так легче

такая же идея ("модуль говорит, от чего он зависит") у пакетов в линуксовых менеджерах пакетов. и у пакетов npm тоже
Теперь понял о чём ты :) Да, не удобно. Я юзаю файлы манифесты, как npm и похожих штук, например:

// blocks/b-avatar-uploader-form/b-avatar-uploader-form.json

{
	"block": "b-avatar-uploader-form",
	"extends": "b-window",

	"use": {
		"logic": true, // js
		"style": true, // stylus
		"tpl": true // snakeskin
	},

	"dependencies": [
		"b-form",
		"b-image-editor",
		"b-progress",
		"b-uploader",
		"b-button"
	]
}


И такой подход для всего: виджеты, страницы, сборки (т.е. одна сборка зависит от другой или наследуется). Сборщик сам бьёт на модули, выкидывает дубликаты и т.д. по построенному графу, использую своё решение интегрированное как плагин для Grunt.

melky 03.07.2014 18:16

Кое-что удалось нагуглить: PR 1089. Походу, этого пока просто нет и работа в прогрессе. Хм, может помочь)

вот то же для Gulp: PR 19

хм, вообще, конкатенация не должна быть на плечах traceur, как мне кажется. это задача для сборщика

cyber_2.0 03.07.2014 18:52

Цитата:

Сообщение от melky
ES6 modules

Еще не юзал, но хочу, есть ли какие то хорошие фолбеки?

Цитата:

Сообщение от melky
пользовался им когда-то, но в итоге перебрался на grunt

Все тупо сшивать тоже вариант, но не хочется его юзать.

Цитата:

Сообщение от kobezzza
.js, browserserify, но jossy объективно лучше

Спасибо попробую.
Да не получается нормально скомпилить если вызывать из скрипта.

melky 03.07.2014 19:15

Цитата:

Сообщение от cyber_2.0
Еще не юзал, но хочу, есть ли какие то хорошие фолбеки?

прямо сейчас я занят этим. как закончу, поделюсь :)
Цитата:

Сообщение от cyber_2.0
Все тупо сшивать тоже вариант, но не хочется его юзать.

я уже обошел это дело! сшивает всё в один файл requirejs, но он не сшивает SourceMap от traceur.

в общем, ещё есть проблемы :)


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