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

Vlasenko Fedor 25.12.2016 12:37

nerv_,
указать в readme лицензию распространения уже не модно ?

nerv_ 27.12.2016 08:58

Цитата:

Сообщение от Poznakomlus
указать в readme лицензию распространения уже не модно ?

не "уже не модно", а "тогда не модно было" :)

nerv_ 06.02.2017 13:18

Всем привет! :)

Вопрос: как вы описываете зависимости и подключаете их на фронтэнде?
О чем именно речь: допустим есть проект. Речь идет о фронтенде. В браузер подключается модуль X, у которого есть зависимость Y. В свою очередь у модуля Y есть зависимость Z.

Олдскульное подключение будет выглядеть следующим образом (условимся, что один файл -- один модуль):
<script src="Z.js"></script>
<script src="Y.js"></script>
<script src="X.js"></script>

Тут мы руками разруливаем подключение зависимостей. Этого хотелось бы избежать.

Хочется сделать так
<script src="X.js"></script>

и при этом, чтобы необходимые зависимости подключились автоматически.

Интересуют стратегии обе стратегии (development и production).

cyber 06.02.2017 13:21

nerv_, что мешает юзать webpack?

Подключаем X.js, далее
X.js

import "Z.js";

// или динмачески
import("./Y.js").then( y => ...)

nerv_ 06.02.2017 13:42

Цитата:

Сообщение от cyber
что мешает юзать webpack?

1. c webpack'ом каждый раз придется бандл(ы) пересобирать. Или я ошибаюсь? (стратегия production)
2.
X.js
import "Z.js"; // тут я не знаю, как подключены зависимости. Они могут быть подключены олдскульно [как глобальные переменные] (сv. мой пост выше) или через тот же вебпак

Вебпак так работает?

cyber 06.02.2017 13:52

Цитата:

Сообщение от nerv_
c webpack'ом каждый раз придется бандл(ы) пересобирать. Или я ошибаюсь? (стратегия production)

врубил webpack --watch и фигачешь код, для продакшена делаешь отдельный конфиг и запускаешь продакшн конфиг когда нужен продакшн бандлс, в чем проблема
Цитата:

Сообщение от nerv_
Они могут быть подключены олдскульно [как глобальные переменные] (сv. мой пост выше) или через тот же вебпак

С вебпаком есть много решений, например https://www.youtube.com/watch?v=7LSE...=102s&index=27
или так
Z.js
..
window.Z = (z) => ... ;


X.js
import "./Z";

window.Z("z");


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

nerv_ 06.02.2017 13:53

Кажется, jspm -- то, что мне нужно:

Цитата:

For development, load modules as separate files with ES6 and plugins compiled in the browser.

For production (or development too), optimize into a bundle, layered bundles or a self-executing bundle with a single command.
http://jspm.io/

Посмотрим. Я с ним не знаком.

nerv_ 06.02.2017 14:04

Цитата:

Сообщение от cyber
врубил webpack --watch

в том то и проблема, что врубить требуется:
1) установить ноду
2) установить вебпак
3) локально разрабатывать
не всегда хочется этим заморачиватся.

cyber 06.02.2017 14:34

Цитата:

Сообщение от nerv_
1) установить ноду
2) установить вебпак

Имхо не вижу, проблемы в этом, раз установил и забыл.
Цитата:

Сообщение от nerv_
http://jspm.io/

Посмотрим. Я с ним не знаком.

судя по гитхабу он не развивается

annyrtd 06.03.2017 15:08

Вывод в файл

index.js
const {readFromFile, writeToFile} = require('./readFromFile');
...
case '11':
    return writeToFile('newFile.json', JSON.stringify(investors)); //investors.concat(deposits)


readFromFile.js:
.........

function writeToFile(file, data) {
  return new Promise((resolve, reject) =>{
    fs.writeFile(file, data, 'utf-8', function (err) {
      if (err) {
        reject(err);
      }

      resolve('Данные успешно сохранены')
    })
  })
}

module.exports = {readFromFile, writeToFile};



Выход:
app.js
case UI.EXIT:
    process.exit(0);


ui.js
constructor() {
   ....
   this.EXIT = 10;
}



Вывод существующих пунктов отправления:

app.js
case UI.MENU_PRINT_FLIGHTS_BY_POINTS:
            // получаем пункты назначения рейсов и фильтруем из общего списка
			departures = flights.map(flights => flights.departure);

            console.log('Возможные пункты направления');
            showAll(departures);

            return UI.getRangeValue('Выберите пункт отправления:', 1, departures.length).then(answer => {
                departure = departures[answer - 1];
                return UI.getDestination();
            }).then(destination => {


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