Size: a a a

Webpack — русскоговорящее сообщество

2019 March 30

A

Anton in Webpack — русскоговорящее сообщество
Владимир
Добрый день,
есть страый проект который использует bower и usemin. Пытаюсь перевести его на более современные интсрументы. На первом этапе хочу заменить usemin на webpack. Создал файл index.js и заполнил его строчками вида

require('./bower_components/moment/moment.js')

Так же использую imports-loader и exports-loader. Возникла проблема, некоторые библиотеки используют такой код чтобы подгружать зависимости

(function (root, factory) {
   "use strict";

   /*global define*/
   if (typeof define === 'function' && define.amd) {
       define(['moment'], factory);                 // AMD
   } else if (typeof exports === 'object') {
       module.exports = factory(require('moment')); // Node
   } else {
       factory(root.moment);                        // Browser
   }
}(this, function (moment) {
...
}

Я могу использовать require('imports-loaders?define=>false!./path/to/lib.js') чтобы заставить библиотеку не использовать AMD метод для загрузки зависимости. А вот imports-loaders?exports=>false!.... не работает.
Как-то можно это сделать - заставить библиотеку не использовать CommonJS метод для загрузки зависимости?
источник

В

Владимир in Webpack — русскоговорящее сообщество
А можно пример?
Я попробвал

rules: [
   {
       test: /lib\.js/,
       parser: {
         commonjs: false,
       }
   }
]


Но тогда webpack оставляет в исходном коде библиотеки выражаения require(), и в браузере это приводит к ошибке.
источник
2019 March 31

MG

Moe Green in Webpack — русскоговорящее сообщество
подскажитте, есть утилита или что-то easy-to-use - просто развернуть webpack-проект, с common settings?
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
можно пользоваться?
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
я думаю - да, ибо - https://webpack.js.org/guides/getting-started/
источник

IB

Ivan Baidiuk 🦅 in Webpack — русскоговорящее сообщество
Всем привет)
Кто может подсказать по вебпаку есть вопрос?
источник

IB

Ivan Baidiuk 🦅 in Webpack — русскоговорящее сообщество
как связать джс и glsl
источник

Т

Тимофей 🛴 in Webpack — русскоговорящее сообщество
Ivan Baidiuk 🦅
как связать джс и glsl
raw loader
источник

IB

Ivan Baidiuk 🦅 in Webpack — русскоговорящее сообщество
const path = require("path");

module.exports = {
output: {
 filename: "[name].js"
},

module: {
 rules: [
  {
   test: /\.js$/,
   exclude: /node_modules/,
   use: {
    loader: "babel-loader",
    query: {
     presets: [
      ["@babel/preset-env", { modules: false }]
     ]
    }
   }
  },
  {
   test: /\.(glsl|frag|vert)$/,
   exclude: /node_modules/,
   loader: "glslify-import-loader
  }, {
   test: /\.(glsl|frag|vert)$/,
   exclude: /node_modules/,
   loader: "raw-loader"
  }, {
   test: /\.(glsl|frag|vert)$/,
   exclude: /node_modules/,
   loader: "glslify-loader"
  }
 ],
},

resolve: {
 alias: {
  "%modules%": path.resolve(__dirname, "src/blocks/modules"),
  "%components%": path.resolve(__dirname, "src/blocks/components")
 }
},

optimization: {
 splitChunks: {
  cacheGroups: {
   vendors: {
    test: /[\\/]node_modules[\\/]/,
    name: "vendor",
    chunks: "all",
    minChunks: 1
   }
  }
 }
},
};
источник

IB

Ivan Baidiuk 🦅 in Webpack — русскоговорящее сообщество
вот такой webpac config
источник

IB

Ivan Baidiuk 🦅 in Webpack — русскоговорящее сообщество
когда делаю импорт ничего не работает
import * as THREE from "three";
import {TimelineMax} from "gsap";
let OrbitControls = require("three-orbit-controls")(THREE);
import fragment from "../shaders/fragment.glsl";
import vertex from "../shaders/vertex.glsl";
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
гайз, в webpack я туп и всегда им был
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
это настроенный autoprefixer?
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
и мне не нужно писать лапшу вв стилях - плагин сам поставит браузерные префиксы, где нужно?
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
думаю, ответ очевиден )
источник

an

arthur n in Webpack — русскоговорящее сообщество
Moe Green
и мне не нужно писать лапшу вв стилях - плагин сам поставит браузерные префиксы, где нужно?
да, но этот лоадер депрекейтед
источник

MG

Moe Green in Webpack — русскоговорящее сообщество
но - рабочий, же?
источник

an

arthur n in Webpack — русскоговорящее сообщество
Moe Green
но - рабочий, же?
понятия не имею, но видимо да, раз он у тебя прописан (либо не работает и всем было плевать)
источник