使用引导程序的Webpack-未定义jquery

import $ from 'jquery';
require("./node_modules/bootstrap/dist/css/bootstrap.min.css")
require("./node_modules/bootstrap/js/dropdown.js")
import React from 'react';
import ReactDOM from 'react-dom';
var _ = require('lodash');

请参考以上我的设置。由于某些原因我出现了错误,提示“ Uncaught ReferenceError:未从dropdown.js 定义jQuery()

我还在webpack.config.js中包含了以下几行

   plugins: [
    new webpack.NoErrorsPlugin({
        $: "jquery",
        jQuery: "jquery"
    })
]

但是,没有运气-仍然有jQuery undefined错误。任何想法 ?有人可以帮忙解决这个问题吗?

非常感谢

西门2020/03/24 11:08:23

这会工作

plugins: [ 
     new webpack.ProvidePlugin({
           $: "jquery", 
           jQuery: "jquery"
     })
] 

它为我工作,希望能有所帮助

老丝2020/03/24 11:08:23

Bootstrap 4.0Webpack 3的各个Dropdown导入安装并使用exports-loader

// webpack.config.js
module.exports = {
    ...
    plugins: [
        new webpack.ProvidePlugin({
           Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
       })

插件或个人导入: require("./node_modules/bootstrap/js/dist/dropdown")

完整导入Bootstrap:require("./node_modules/bootstrap")


参考文献

村村2020/03/24 11:08:23

为了使此代码起作用,您必须在更改后重新启动节点

// webpack.config.js
module.exports = {
    ...
    plugins: [
        new webpack.ProvidePlugin({
           $: "jquery",
           jQuery: "jquery"
       })
    ]
};
Eva凯2020/03/24 11:08:23

请使用webpack ProviderPlugin,使用全局不是一个好主意。

// webpack.config.js
module.exports = {
    ...
    plugins: [
        new webpack.ProvidePlugin({
           $: "jquery",
           jQuery: "jquery"
       })
    ]
};