Webpack 正在将引导添加到Web包。为什么第二条路不';行不通

Webpack 正在将引导添加到Web包。为什么第二条路不';行不通,webpack,bootstrap-4,Webpack,Bootstrap 4,这是我唯一的办法 在js scrypts中添加: import $ from 'jquery'; global.jQuery = $; global.$ = $; import Popper from 'popper.js' global.Popper = Popper import 'bootstrap' // there $.fn defined anyway // and in chrome console too (in first way) 第二种方式(不起作用): 但如果要以

这是我唯一的办法

在js scrypts中添加:

import $ from 'jquery';
global.jQuery = $;
global.$ = $;

import Popper from 'popper.js'
global.Popper = Popper

import 'bootstrap'

// there $.fn defined anyway
// and in chrome console too (in first way)
第二种方式(不起作用):

但如果要以较低的方式执行,我不知道为什么,在scrypt上的控制台结束时,$.fn未定义。它看起来像是控制台和网页包构建中使用的另一个$examplar。 有人能解释一下吗


这是要克隆的

您注释掉了
$
的定义,您惊讶地看到关于它没有定义的投诉?webpack.ProvidePlugin定义了$,并且它可以工作。$。fn-不要。和导入引导后定义的$.fn。为什么以后不定义呢?
// ! comment this strings
// import $ from 'jquery';
// global.jQuery = $;
// global.$ = $;
// after bootstrap importing add

 console.log($.fn) // Object, defined   
 // past it in console after execution - it will undefined

// add in config
plugins: [
     new webpack.ProvidePlugin(
        {
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery',
            'global.jQuery': 'jquery',
            'global.$': 'jquery',
        },
     ),
...