gpt4 book ai didi

javascript - Webpack 2 加载、公开和捆绑 jquery 和 bootstrap

转载 作者:行者123 更新时间:2023-11-29 23:44:13 27 4
gpt4 key购买 nike

有人零星地提出这个问题,但似乎没有人能够确定答案。我非常简单地尝试捆绑 jquery THEN bootstrap 并拥有 $ , JQuerybootstrap在全局范围内曝光。

这是我的 webpack.config.js

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'
}]
},
resolve: {
extensions: ['.js', '.jsx']
},
output: {
path: __dirname + '/src/main/webapp/public/js/dist',
publicPath: '/',
filename: '[name].bundle.js'
},
devServer: {
contentBase: './dist'
}
};

这捆绑得当。它加载为我的第一个 <script><head>但是我遇到控制台问题,例如:“$ is not defined”、“jQuery is not defined”。

我如何编写此配置以全局公开 jQuery/$ 和 Bootstrap ? Webpack 文档说,CommonChunksPlugin , 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: '$'
}]
}]
}

注意:如果我错了,请纠正我,但是没有必要全局公开 Bootstrap 。 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”。

关于javascript - Webpack 2 加载、公开和捆绑 jquery 和 bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44569682/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com