Webpack экспортирует только последний файл в комплекте как модуль - PullRequest
1 голос
/ 08 мая 2019

Я использую webpack 4.30.0 и пытаюсь собрать несколько файлов, каждый из которых экспортирует соответствующий модуль с именем, которое отражает имя файла.

Например: phonecall.js будет экспортироватьобъект phonecall и тд.Используются стандартные ES6 модули.

Все эти файлы объединены в Form.js, который представлен как глобальный объект (библиотека) с именем Form.

Я ожидал, что все модули, используемые в комплекте, также будут отображаться каксвойства Form, но по любой причине видна только последняя.В данном примере это будет incident.Таким образом, после сборки у меня будет только один объект, доступный в глобальном масштабе - Form.incident.

Я верю, что это по замыслу, но я ищу способ, как изменить его для моего конкретного случая.

Есть ли способ, как сделать все дочерние модули доступными в экспортируемой библиотеке?

Вот мой webpack.config.js:

const path = require('path');
const webpack = require('webpack');

module.exports = {
  entry: {
    form: [
      './src/phonecall.js',
      './src/contact.js',
      './src/email.js',
      './src/incident.js',
    ],
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].js',
    library: 'Form',
  },
  plugins: [
    new webpack.optimize.LimitChunkCountPlugin({
      maxChunks: 1,
    }),
  ],
};

Существует обходной путь для этой проблемы - создатьодин центральный файл, который будет ссылаться на все модули и реэкспортировать их, но это дополнительный шаг и процедура, подверженная ошибкам.

Есть ли какое-либо нестандартное решение этого вопроса, как разоблачитьвсе модули, которые входят в комплект?

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