jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了webpack无法解析’jquery’大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,我是Webpack的新手,目前我正在将这个工具添加到我的项目中,在捆绑(webpack …) jquery依赖库时我收到类似的错误

我浏览了互联网上的类似帖子,没有任何积极影响.
人们建议使用不同的方法,如:
  – resolve.alias
  – 插件ProvidePlugin

我使用webpack 3.3.0,在我的项目中,jQuery是在供应商捆绑脚本之前通过脚本标签以正常方式加载的.
包括jQuery在内的大多数供应商库都不在Node_modules文件夹中.

webpack.config.js:

const webpack = require('webpack');
const { resolve } = require('path');

module.exports = env => {
    return {
        context: resolve('src'),entry: {
            comp: './start.comp.js',culture: './start.culture.js',strategy: './start.strategy.js',vendors: './start.vendors.js'
        },output: {
            path: resolve('dist'),publicPath: '/dist/',filename: 'bundle.[name].js'
        },devtool: env.dev ? 'eval' : 'source-map'
    };
};

最后一个条目jquery.placeholder.min.js是个问题

require('./../assets/vendor/typeahead.js');
require('./../assets/vendor/hogan-2.0.0.js');
require('./../assets/vendor/swfobject.js');
require('expose-loader?_!./../assets/vendor/underscore-min.js');
require('expose-loader?FastClick!./../assets/vendor/fastclick.js');
require('expose-loader?AOS!./../assets/vendor/aos.js');
require('./../assets/vendor/jquery.placeholder.min.js');

解决方法

问题

由于jquery.placholder.min.js使用UMD作为其加载策略,因此它认识到需要通过require – 并尝试以相同的方式要求jQuery:

"object"==typeof module&&module.exports?require("jquery"):jQuery

Webpack看到require(“jquery”)并尝试捆绑jQuery库(node_modules中不存在).

解决方案是在webpack.config.js中将jQuery添加external

{
  ...
  externals: {
    // require("jquery") is external and available
    //  on the global var jQuery
    "jquery": "jQuery"
  }
}

当模块被标记为外部模块时,Webpack知道不捆绑它,而是使用全局变量.

@H_489_48@

大佬总结

以上是大佬教程为你收集整理的webpack无法解析’jquery’全部内容,希望文章能够帮你解决webpack无法解析’jquery’所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。