在这里找到了答案https://github.com/webpack-contrib/expose-loader https://github.com/webpack-contrib/expose-loader
该模块是expose-loader
显然需要将对象、类等暴露给窗口。
module: {
rules: [{
test: require.resolve('jquery'),
use: [{
loader: 'expose-loader',
options: 'jQuery'
},{
loader: 'expose-loader',
options: '$'
}]
}]
}
注意:如果我错了,请纠正我,但是没有必要在全局范围内公开引导程序。 jQuery 就足够了。
现在完整配置:
var webpack = require('webpack');
module.exports = {
entry: {
accountdetails: './src/main/webapp/public/js/accountdetails.js',
vendor_jquerybs: ['jquery', 'bootstrap']
}
,
module:{
loaders: [
{
test: /\.jsx?$/,
exclude: /node-modules/,
loader: 'babel-loader'
},
{
test: require.resolve('jquery'),
use: [{
loader: 'expose-loader',
options: 'jQuery'
},
{
loader: 'expose-loader',
options: '$'
}]
}
]
},
resolve: {
extensions: ['.js', '.jsx']
},
output: {
path: __dirname + '/src/main/webapp/public/js/dist',
publicPath: '/',
filename: '[name].bundle.js'
},
devServer: {
contentBase: './dist'
}
};
注意:您不能从入口点删除“jquery”。