我使用Webpack打包我的项目,我包括jquery。我需要在jquery实例上设置ajaxPrefilter。因此,只要我import $ from 'jquery'
,我就会收到一个配置了ajaxPrefilter的实例。
我在考虑使用运行script-loader
的{{1}}。但我似乎无法让它发挥作用。我认为脚本加载器会将我的自定义脚本附加到构建文件的底部。但是什么都没有。
基本上,如果有任何导入$.ajaxPrefilter(filterFunc)
,我只想执行jquery.conf.js
中的任何内容。
或者如果有人知道,脚本加载器是如何工作的?我似乎无法理解
这是我的网络包配置
jquery
我的var webpack = require('webpack');
module.exports = {
context: __dirname + '/entry',
entry: {
index1: './index1',
index2: './index2',
},
output: {
path: './build',
filename: '[name].entry.chunk.js'
},
resolveLoader: {
modulesDirectories: ['node_modules']
},
resolve: {
root: __dirname,
extensions: ['', '.js', '.jsx', 'json'],
alias: {
'actions': __dirname+'/actions',
'dialogs': __dirname+'/dialogs',
'gettext': __dirname+'/utils/gettext.js',
}
},
module: {
loaders: [
{ test: /\.js$/, loaders: ['babel', 'eslint-loader'], exclude: /node_modules/ },
{ test: require.resolve("react"), loader: "expose?React" },
{ test: require.resolve("moment-timezone"), loader: "expose?moment" },
{ test: require.resolve("immutable"), loader: "expose?Immutable" },
{ include: /\.json$/, loader: "json-loader" },
{ test: require.resolve("jquery"), loader: "script-loader?"+__dirname+"/jquery.conf.js" }
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('commons.chunk.js'),
new webpack.ProvidePlugin({
"$": "jquery",
"jQuery": "jquery",
"window.jQuery": "jquery",
}),
],
eslint: {
failOnError: true,
failOnWarning: false,
}
};
基本上是
jquery.conf.js
任何帮助表示赞赏!