Ответы пользователя по тегу Gulp.js
  • Gulp-autoprefixer и PostCSS Autoprefixer в чем разница?

    Rapt0p7
    @Rapt0p7
    FrontEnd developer in Eastwood
    Под капотом ни в чем. gulp-autoprefixer использует postcss и autoprefixer, разве что в gulp-autoprefixer их версии чуть старее. Т.е. это такая обертка над postcss специально для gulp.
    Код
    Ответ написан
    1 комментарий
  • Как скопировать ассеты из node_modules в публичную директорию средствами gulp или webpack?

    Rapt0p7
    @Rapt0p7
    FrontEnd developer in Eastwood
    Пример части конфигурации для webpack версии 4 (но и на предыдущих работает):
    output: {
        path: resolve(__dirname, './dist'),
        publicPath: mode === 'development' ? '/' : 'static/',
        filename: '[name].js'
      },
      module: {
        rules: [
          {
            test: /\.(png|jpg|jpeg|gif|svg|woff|ico|woff2|ttf|eot)(\?.*$|$)/,
            loader: 'file-loader',
            exclude: /node_modules/,
            options: {
              name: '[path][name].[ext]?[hash]',
              publicPath: mode === 'development' ? '' : './static'
            }
          },
          {
            test: /\.(png|jpg|jpeg|gif|svg)(\?.*$|$)/,
            loader: 'file-loader',
            options: {
              regExp: /node_modules/,
              name: '[name].[ext]?[hash]',
              publicPath: mode === 'development' ? '' : './static/img',
              outputPath: 'static/img'
            }
          }
        ]
      }

    Первый лоадер для собственных ассетов, второй для node_modules.
    В моем случае нужно было переместить статику и получить правильные пути для неё в css из такого (без второго лоадера):
    {
      background: transparent url(./static/_/node_modules/fancybox/dist/img/blank.gif);
    }

    В такое:
    {
      background: transparent url(./static/img/blank.gif);
    }

    Эта конфигурация простая, статики не много и у меня не стояло задачи каким то образом ее оптимизировать (использовать url-loader например, разделять шрифты и графику и т.п.).
    Ответ написан
    2 комментария
  • При изменения файла gulp выдает ошибку, в чем косяк?

    Rapt0p7
    @Rapt0p7
    FrontEnd developer in Eastwood
    Дополнительно добавить в каждый таск (сложнее простого копирования) после gulp.src(path.src.img) пайп вида:
    .pipe($.plumber({ errorHandler: onError }))
    Предохраняет от частого вылета (от ошибки не избавит, но не придется gulp стартовать заново).

    Обработчик ошибки:
    const onError = (err) => {
      $.notify.onError({
        title: `Error in ${err.plugin}`,
        message: err.message
      })(err);
      this.emit('end');
    };

    P.S.: "$." - это в моем случае короткое имя модуля gulp-load-plugins. Ну и судя по комментам в конфиге я с того же источника брал.
    Ответ написан
    Комментировать