Webpack связывает и минимизирует все javascript файл в каталоге, не работает - PullRequest
0 голосов
/ 09 апреля 2020

Мне нужно связать и минимизировать 5 javascript файлов в каталоге assets /.

У меня есть следующая настройка, но она не работает для меня.

const webpack = require("webpack");

module.exports = {
  entry: {
    "bundle": ".assets/*",

  },

  output: {
    path: "./dist",
    filename: "bundle.js"
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      include: /\.js$/,
      minimize: true
    })
  ]
};

Не уверен, что оператор подстановки делает то, что я думаю.

Ответы [ 3 ]

0 голосов
/ 09 апреля 2020

Будет ли это работать для вас?

"entry": "assets/index.js"

Мне интересно, должна ли запись быть только одним файлом, который импортирует остальные.

0 голосов
/ 09 апреля 2020

Глядя на документы webpack, я не думаю, что вы можете указать шаблон для такой строки, я думаю, что вместо этого он ожидает путь к файлу. Вы можете передать массив имен файлов в ресурсах или функцию, которая возвращает файлы в папке:

entry: ['./assets/asset1.js', './assets/asset2.js' ...]

или

entry: () => fs.readdirSync('./assets')

Есть и другие варианты, но эти два кажутся самыми простыми.

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

0 голосов
/ 09 апреля 2020

Webpack не поддерживает оператор wilcard, как вы можете видеть в этом выпуске https://github.com/webpack/webpack/issues/370

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

var glob = require("glob");

module.exports = {
  entry: {
    "bundle": glob.sync("./assets/*"),
  },

(*) У вас также была опечатка в конфигурации, .assets/* должно быть ./assets/*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...