jQuery не определяется webpack 4.xx - PullRequest
1 голос
/ 18 марта 2020

Я целый день ломал голову над этим, и я очень старался решить эту проблему самостоятельно.

У меня есть два файла, webpack.config. js, который содержит весь мой код sr c с помощью загрузчиков; и web.config.vendor. js, который должен содержать все библиотеки моих поставщиков. Я предпочитаю это таким образом, так как я не хочу продолжать запускать webpack против файлов поставщиков И моего собственного кода sr c. Я видел этот тип конфигурации много раз, и каждый раз он выглядит как копия другого.

Примечания:

  • Вывод файла webpack.config. js называется main. js
  • Вывод webpack.config. js называется vendor. js
  • Vendor. js загружается перед main. js

В webpack.config.vendor. js У меня есть следующее:

  new webpack.ProvidePlugin({
    $: 'jquery',
    jquery: 'jquery',
    'window.jQuery': 'jquery',
    jQuery: 'jquery',
    moment: 'moment',
    Popper: ['popper.js', 'default']
    /* For modal, you will need to add tether */
  })

Вот сценарии, которые я использовал:

  • webpack - config webpack.config. js --progress
  • webpack --config webpack.config.vendor. js --progress

Когда я запускаю это, ни один из пакеты, которые звонят на jQuery, работают, мне выдает "jQuery не определено". Однако, когда я беру тот же код выше и помещаю его в webpack.config. js, тогда он работает как положено.

Теперь мне интересно, вот почему я получаю "jQuery не определено "потому, что оно определено в вендоре. js где нет способа обеспечить глобальное раскрытие пакетов узлов? И что причина, по которой определено jQuery IS, заключается в том, что компоненты находятся в одном файле (main. js) ??

Я также попробовал expose-loader в моем webconfig.config.vendor. js, и это тоже не сработало.

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