ProvidePlugin无法使用jquery – webpack

我试图在我的应用程序中访问
jquery

根据webpack网站上的信息,您可以使用webpack创建全局变量

https://webpack.js.org/plugins/provide-plugin/

这是我的webpack设置

module.exports = {
    entry: {
        index: "./scripts/index.js",
        vendorJS: ["jquery", "jquery-validation", "jquery-validation-unobtrusive"]
    }
    ,
    output: {
        path: path.join(__dirname, '/wwwroot/'),
        filename: '[name].js'
    },
    resolve: {
        extensions: ['.js', '.jsx', '.css', '.scss', '.sass']
    },
    module: {
        rules: [
            {
                test: /\.scss$/i,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: ['css-loader', 'sass-loader']
                })
            },
            {
                test: /\.css$/i,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: ['css-loader']
                })
            },
            {
                test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                use: ['url-loader?limit=10000&mimetype=application/font-woff&name=/fonts/[name].[ext]'],
            },
            {
                test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                use: ['file-loader?name=/fonts/[name].[ext]'],
            }
        ]
    },
    plugins: [
        new CleanWebpackPlugin(['./wwwroot']),
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery",
            "window.jQuery": "jquery"
        }),
        css
    ],

}

使用thius设置我无法在控制台菜单中访问我的$ – jquery.

《ProvidePlugin无法使用jquery – webpack》

知道为什么会这样吗?

最佳答案 我知道现在已经很晚了,但对于Google员工(如果你关心隐私,还是Duck Duck的观众),我遇到了同样的问题:

如果我用$:’jquery’它扔了

Can’t resolve ‘jquery’

如果我用过

const jquery = require('jquery');
$: jquery

它扔了

Can’t import module “undefined”

这最终对我有用:

new webpack.ProvidePlugin({
    $: require.resolve('jquery'),
    jQuery: require.resolve('jquery')
})
点赞