0
我試圖加載slick plugin與webpack版本2.6.1,目前爲止沒有成功。Webpack:無法加載具有全局jQuery的滑動插件
我需要加載爲全局變量和版本2.2.4(因爲我有其他舊插件管理)jQuery的,所以我給自己定ProvidePlugin我webpack.config.js文件:
const webpack = require('webpack');
const nodeEnv = process.env.NODE_ENV || 'production';
module.exports = {
devtool: 'source-map',
entry: { filename: './src/js/main.js' },
output: { filename: './dist/js/bundle.js' },
module: {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
}]
},
plugins: [
new webpack.ProvidePlugin({
jQuery: 'jquery',
$: 'jquery',
jquery: 'jquery'
}),
new webpack.DefinePlugin({
'process.env': { NODE_ENV: JSON.stringify(nodeEnv) }
})
]
};
我main.js文件如下:
import 'slick-carousel';
console.log('jquery version: ', $.fn.jquery);
console.log($.fn.slick);
bundle.js文件由產生的WebPack與以下日誌:
Version: webpack 2.6.1
Time: 1490ms
Asset Size Chunks Chunk Names
./dist/js/bundle.js 616 kB 0 [emitted] [big] filename
./dist/js/bundle.js.map 794 kB 0 [emitted] filename
[0] ./~/jquery/dist/jquery.js 258 kB {0} [built]
[1] ./~/slick-carousel/slick/slick.js 84.3 kB {0} [built]
[2] ./src/js/main.js 1.52 kB {0} [built]
[3] ./~/slick-carousel/~/jquery/dist/jquery.js 268 kB {0} [built]
jQuery是加載兩次:第一次在全球環境中,2.2.4版本,第二個是3.2.1版本(版本太新,對我來說,我不想要)作爲依賴,我想。
加載到一個HTML頁面,我得到在瀏覽器開發工具以下日誌:
jquery version: 2.2.4
undefined
所以,jQuery是正確加載,但華而不實的不是。
我錯過了什麼?
謝謝