Javascript Webpack2加载、公开和绑定jquery和引导
这是一个零碎的问题,但似乎没有人能够确定答案。 我非常简单地尝试绑定jquery然后引导,并将Javascript Webpack2加载、公开和绑定jquery和引导,javascript,jquery,twitter-bootstrap,webpack,webpack-2,Javascript,Jquery,Twitter Bootstrap,Webpack,Webpack 2,这是一个零碎的问题,但似乎没有人能够确定答案。 我非常简单地尝试绑定jquery然后引导,并将$、jquery和bootstrap全局公开 这是我的webpack.config.js var webpack = require('webpack'); module.exports = { entry: { accountdetails: './src/main/webapp/public/js/accountdetails.js', vendor_jqu
$
、jquery
和bootstrap
全局公开
这是我的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'
}
};
这件衣服捆扎得很好。它作为我的第一个
加载到
但我遇到了诸如“$未定义”、“jQuery未定义”之类的控制台问题
如何编写此配置以全局公开jQuery/$和引导?网页包文档会说,CommonChunksPlugin
,公开加载程序
,等等。这样做的最佳方式是什么?我被文件弄糊涂了
多谢各位 在这里找到了答案
该模块是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”。在我的例子中,我也不需要全局公开引导(插件)。我的错误是,当插件也需要
jQuery
时,我只公开了$
。