LINUX.ORG.RU

Webpack для сборки бекенда

 ,


0

1

Есть бекенд приложение - Express, SocketIO, несколько нативных модулей и всякая мелочь, типо require 'is-array' :-)
Код приложения разбит на кучу модулей, роуты там всякие, обработка запросов и т.д.
Как правильно собирать это все в один .js файл, что бы мои модули были в этом бандле, а нодовые модули оставались на своем месте?

★★

Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от umren

Много кода на CoffeeScript с применением CommonJS
Также есть пачка CSON файлов
Хочется все это собрать в один файл, что бы легко деплоить и не тянуть CoffeeScript на сервер

mystery ★★
() автор топика
Ответ на: комментарий от mystery

аа, кофескриптомпроблемы

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

umren ★★★★★
()
Ответ на: комментарий от umren

Я хочу это все в один файл, что бы легко деплоить
У меня и JavaScript код тоже есть, и парочка нативных модулей
У меня файлов сотня, это не дело
Вот один файл - можно легко заменить и все

mystery ★★
() автор топика
Ответ на: комментарий от static_lab

Деплою гитом, просто в будущем я приложение может распространять буду, на коммерческой основе
Все таки не стоит?

mystery ★★
() автор топика
Ответ на: комментарий от mystery

тогда пиши на Go, там на выходе один бинарь и все.

ты просто ждешь от инструмента того, чего он тебе дать по нормальному не может.

umren ★★★★★
()
Ответ на: комментарий от umren

Как раз наоборот, я привык к Express, PouchDB, Lodash и прототипному программированию на JS, к CoffeeScript и т.д.
Вот как на Go сделать такое:

Array::extend = (arr) -> @.concat arr
a = [1..7]
b = [9..16]
a.extend b # => [ 1, 2, 3, 4, 5, 6, 7, 8 ]
Number.isNaN c[-1..] # => false

И много-много всего
Golang - это совсем не то
Мне бы хотелось в будущем распространять приложение за деньги
Но если нет смысла так заморачиваться, то так уж и быть

mystery ★★
() автор топика
Ответ на: комментарий от mystery

В качестве ответа на ваш изначальный вопрос: http://webpack.github.io/docs/library-and-externals.html

externals allows you to specify dependencies for your library that are not resolved by webpack, but become dependencies of the output. This means they are imported from the environment during runtime.

В контексте ноды это как раз то, что вам нужно.

Что касается деплоя, то я бы предложил сделать сборку + тестирование + деплой через Gulp. А в будущем присмотреться к continuous integration.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

Вместо галпа у меня Makefile, которого хватает
А деплой - у меня pet-project, который делаю для себя, но в будущем выложу на GitHub
И если смогу таки сделать то, что хочу - буду распространять дистрибутив нормально, одним бандлом

mystery ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.