javascript – 在Webpack中使用jQuery
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在Webpack中使用jQuery,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1787字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 在Webpack中使用jQuery](/upload/InfoBanner/zyjiaocheng/773/3c150b8a6e0547af8d60f2325be5ae10.jpg)
我正在从RequireJS迁移到Webpack,我在为模块需要jQuery时遇到了一些麻烦.
我知道有一些关于这方面的答案,我已经完成了它们,但我无法让它工作.这一个:Managing Jquery plugin dependency in webpack是我读过的那个.
我的webpack.config.js看起来像这样:
var webpack = require("webpack");
var bower_dir = __dirname + '/bower_components';
var config = {
addVendor: function(name, path) {
this.resolve.alias[name] = path;
//this.module.noParse.push(new RegExp(path));
},
entry: {
app: ['./app/js/main.js'],
vendors: ['jquery', 'bootstrap']
},
resolve: { alias: {} },
plugins: [
new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js'),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jquery": "jquery"
})
],
output: {
path: './build',
filename: 'bundle.js'
},
module: {
noParse: [bower_dir + '/bootstrap/dist/js/bootstrap.min.js'],
loaders: []
}
};
config.addVendor('jquery', bower_dir + '/jquery/jquery.js');
config.addVendor('bootstrap', bower_dir + '/bootstrap/dist/js/bootstrap.min.js');
module.exports = config;
我正在使用ProvidePlugin在每个使用它的模块上都需要jQuery.
另外,我将供应商库放在vendors.js文件中,将我的模块放在main.js中.
我的main.js文件有几行代码只是为了测试$是否解析为jQuery:
$(".search-toggle").on("click", function(e) {
e.preventDefault();
$(".search-container").toggle();
});
我的index.html有以下几行:
<script src="<s:url value="/resources/build/vendors.js"/>"></script>
<script src="<s:url value="/resources/build/bundle.js"/>"></script>
当我运行我的应用程序时,我得到Uncaught TypeError:$即使$在全局范围内,也不是控制台中的函数.
我真的很感激你是否可以帮助我,因为我一直在编写和重写我的代码而无处可去.
非常感谢你提前!
解决方法:
而不是webpack.ProvidePlugin,你可以使用https://github.com/webpack/expose-loader:
装载机:[{
test:require.resolve(‘jquery’),
loader:’expose?$!expose?jQuery’,
}]
内容总结
以上是互联网集市为您收集整理的javascript – 在Webpack中使用jQuery全部内容,希望文章能够帮你解决javascript – 在Webpack中使用jQuery所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。