在Webpack中使用jquery-mobile
我正在尝试使用webpack加载jquery-mobile,到目前为止还没有运气. 我知道jquery-mobile取决于jquery-ui,而后者又取决于jquery.
I am trying to load jquery-mobile using webpack with no luck so far. I am aware that jquery-mobile depends on jquery-ui which in turn depends on jquery.
如何在Webpack中设置这种方案?
How do I set up such a scenario in Webpack?
这是我的webpack.config.js
:
var webpack = require('webpack');
var path = require('path');
var bower_dir = __dirname + '/bower_components';
module.exports = {
context: __dirname,
entry: './assets/js/index.js',
output: {
path: path.resolve('./assets/bundles/'),
filename: "[name]-[hash].js",
},
plugins: [
new BundleTracker({filename: './webpack-stats.json'}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
],
module: {
loaders: [
{test: /[\/\\]node_modules[\/\\]some-module[\/\\]index\.js$/, loader: "imports?this=>window"}
]
},
resolve: {
alias: {
'jquery': bower_dir + '/jquery/src/jquery.js',
'jquery-ui': bower_dir + '/jquery-ui/jquery-ui.js',
'jquery-mobile': bower_dir + '/jquery-mobile/js/jquery.mobile.js'
}
}
};
任何帮助将不胜感激.
谢谢大家.
如果仅按正确的顺序将所需的脚本添加到页面中,则无需担心webpack中的问题.
If you just add the scripts you need to the page in the correct order, you don't need to worry about that in webpack.
您所要做的就是告诉webpack这些模块是从外部引用加载的,就像这样:
All you have to do is tell webpack that those modules are loaded from external references, like so:
{
externals: {
'jquery': 'jQuery'
}
}
这告诉webpack,每当您需要('jquery')时,它将返回一个全局可用的变量jQuery.
This tells webpack that every time you require('jquery') it will return a globally available variable jQuery.