Ответы пользователя по тегу Webpack
  • Как из одной папки запустить два webpack сервера?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Принцип такой:
    1) узнаете как запустить вебпак с необходимым конфигом
    подсказка:
    webpack --config './path/to/config'
    2) вписываете в package.json в секцию scripts, например:
    "server1": "webpack --config './path/to/config'"

    затем npm run server1

    p.s. в секцию scripts можно вписать любую команду, которую вы можете выполнить в терминале.
    Ответ написан
    Комментировать
  • Почему webpack не всегда тянет изменения?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Баг в мозиле?

    p.s. там hot reload настроен не для всех файлов, вроде бы только для react-компонентов, и для reducers
    Ответ написан
    3 комментария
  • Django и React Hot Module Reload?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Может быть ваш файл index.tsx не лежит внутри
    path.join(__dirname, 'client')
    ?
    В противном случае, попробуйте создать что-нибудь на одном уровне с app.tsx, подключить это внутри app и поизменять. В целом, судя по вашему конфигу, я проблем не вижу.
    Ответ написан
  • Как подключить модуль с помощью require()?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    В этом курсе, вы найдете ответы на ваши вопросы - learn.javascript.ru/screencast/webpack
    Как вам уже сказал, Дмитрий, чтобы require работал - нужно использовать сборщик, который умеет превращать require в нативную функцию подргузки модуля где-то из недр своего файла.

    В вашем случае, require не может работать, так как такой функции нет в window объекте (как известно, глобальный объект для клиентского js - window)
    Ответ написан
    Комментировать
  • Как организовать React шаблоны в отдельных файлах?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    И вообще нормальна ли такая практика относительно react-а?

    Нигде в популярных (и не очень) репозиториях я такого не встречал. А главное, как указал fetis26 - пользы от такого разделения никакого нет. Если найдете (пользу) или какой-то репозиторий, где так сделано - добавьте, хотя бы попробуем понять автора.

    Другое дело, что иногда в render функции компонента, удобно определить какой-то кусочек JSX в переменную. Например:

    let articlesHeaders
    if (this.props.articles.length > 0) {
      articlesHeaders = this.props.articles.map(item => <h4 key={item.id}>item.title</h4>
    } else {
      articlesHeaders = <button onClick={this.onTryAgainClick}> Try Again </button>
    ...
    return (
      <div> bla bla .... </div>
      {articlesHeaders}
      <div> bla bla ... </div>
    )

    Обычно используется, когда есть какое то условие в if / else, где относительно нашего примера в articlesHeaders могла бы быть разная разметка (шаблон).
    Ответ написан
    Комментировать
  • Локальная установка webpack?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    1. Да, вам нужен файл package.json, сгенерировать его можно с помощью npm init (по ходу отвечая на вопросы)
    2. Во втором видео на 52й секунде Илья устанавливает webpack "глобально":
    npm i -g webpack
    Поэтому у него хоть и нет в проекте папки node_modules - все корректно работает.

    Дополнительно:
    Если вы устанавливаете модули локально, создается папка node_modules, куда они собственно говоря и устанавливаются.

    P.S. советую посмотреть его скринкаст по node.js, чтобы стало понятно, как node.js ищет пакет, в упрощенном случае: сначала локально, потом глобально (почему упрощенно? потому что, так же еще ищет сначала у вас по относительному пути с расширением .js, потом .json, потом локально тоже самое в node_modules, потом глобально... Может быть что-то еще упустил, в скринкасте по node.js это точно было)
    Ответ написан
    4 комментария
  • Как в webpack убрать неиспользуемые модули?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Webpack собирает то, что вы подключаете. Есть пара советов:
    1. Подключать аккуратно (например, вместоimport _ from lodash, использовать import func_name from lodash/func_name)

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

    2. Как вы и написали в вопросе - удалить из бандла (конечного файла скриптов) неиспользуемый код. В этом может помочь, например, uglifyJS. Он должен вырезать все неиспользуемое. Точных настроек не приведу (список), но можете взглянуть на этот вопрос

    3. Использовать линтер, например eslint.org/. Запустить lint по кодовой базе и удалить все неиспользуемые (но подключенные) модули.

    p.s. пока писал ответ на ваш вопрос, наткнулся еще на webpack-bundle-size-analyzer. Сам не использовал, но возможно поможет.
    Ответ написан
    Комментировать
  • Как использовать модуль FS внутри приложения Electron.Atom\WebPack?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Попробуйте посмотреть этот вопрос. (к сожалению, на англ.)
    p.s. в комментариях решили проблему, поэтому читайте последний.
    Ответ написан
    5 комментариев
  • Express не грузит bundel.js React-а, что не так?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    У вас скорее всего указан неверный путь до файла. Подробнее здесь (весь раздел прочитайте, он короткий).
    Ответ написан
    1 комментарий
  • React и hmr, почему Webpack не пересобирает проект?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Конфиг несколько староват. Откопал свой конфиг с подобной версией, особых отличий не вижу. Разве что в module include указана директория сразу, а не элемент массива.
    { test: /\.(js|jsx)$/,
            exclude: /node_modules/,
            loaders: ['react-hot','babel?stage=0&optional=runtime&plugins=typecheck'],
            include: path.join(__dirname, 'src/js')
          },


    Полный конфиг здесь (не смотрите что он .hot, это просто для удобства было сделано по не знанию)
    Ответ написан
  • Где сохраняется файл сборки?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Вы все делаете правильно. Просто вы используете webpack в режиме dev-server (сервера разработчика), когда выполняете команду npm start, поэтому файла физически "как будто бы нет"

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

    Кстати, чтобы понять, что делает npm start - загляните в package.json, там есть пункт: scripts
    Оттуда видно, что выполняется node server.js, то есть в этом случае npm start === node server.js (можете проверить, запустив из консоли node server.js)

    А уже server.js создает сервер и использует возможности webpack-dev-server
    Подробнее описано здесь
    Ответ написан
    Комментировать