Как «скомпилировать» модуль? - PullRequest
0 голосов
/ 04 июля 2019

Я не знаю точно, как сформулировать этот вопрос, поэтому я сделаю это на примере.(Не стесняйтесь редактировать заголовок вопроса на что-то более подходящее)

Рассмотрите следующий пример:

    import foo from 'foo'
    import bar from 'bar'

    import DATA from './data.json'

    const MY_DATA = foo.process(DATA).filter(bar.isBar)

    export default class {
        get data() {
            return MY_DATA
        }

        propA = true

        methodB() {
            // ...
        }
    }

Возможно ли импортировать этот модуль, имеющий только этот класс (и содержимоеMY_DATA) в комплекте с Webpack?То есть как-то явно, что я не хочу включать 'foo', 'bar', ни './data.json' в этот чанк.

Раньше я делал бы это с помощью плагина ignore, но я не уверен, что это все еще единственный вариант для Webpack 4, поскольку игнорирование модуля во время всей сборки не всегда является желательным эффектом.

Спасибо за любые подсказки!

1 Ответ

1 голос
/ 04 июля 2019

Я думаю externals - это то, что вы ищете. Из Документов :

Запретить пакетирование определенных импортированных пакетов и вместо этого получить эти внешние зависимости во время выполнения.

module.exports = {
  //...
  externals: {
    foo: 'foo',
    bar: 'bar',

    DATA: './data.json'
  }
};

Для этого необходимо, чтобы вы добавили свои внешние сценарии вручную в документ HTML.

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