为了账号安全,请及时绑定邮箱和手机立即绑定

使用 webpack 时找不到自定义 jQuery 扩展/插件

使用 webpack 时找不到自定义 jQuery 扩展/插件

杨魅力 2022-09-02 20:55:47
我正在尝试迁移一个旧项目以使用.我写了一些自定义插件,不再工作。虽然我认为这个问题应该发生在其他人身上,但我找不到任何关于它的帖子。webpack这是我包含:base.js(function ($) {    $.fn.my_extension = function () {       alert("I am found!");    };}(jQuery));这就是我在模板中使用它的方式:<script type="text/javascript">    $(document).ready(function() {        $('#my-id').my_extension();    });</script>这是我在我的包含:index.js// JS Dependenciesimport 'jquery';...// Custom JSimport '../js/base.js';这是我的:webpack.config.jsvar path = require('path');var webpack = require('webpack');var BundleTracker = require('webpack-bundle-tracker');module.exports = {    context: __dirname,    mode: 'development',    entry: './static/js/index.js',    output: {        path: path.resolve('./static/webpack_bundles/'),        filename: "[name]-[hash].js"    },    module: {        rules: [                        {                test: require.resolve('jquery'),                use: [{                    loader: 'expose-loader',                    options: 'jQuery'                }, {                    loader: 'expose-loader',                    options: '$'                }]            },            ...        ],    },    plugins: [        new BundleTracker({filename: 'webpack-stats.json'}),        new webpack.ProvidePlugin({            $: "jquery",            jQuery: "jquery",            'window.jQuery': 'jquery'        })]}这是我在调用模板时遇到的错误:类型错误: $(...).my_extension不是函数任何想法,我可能做错了什么?
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

在尝试了多年的不同方法之后,我发现注册有效,但当我在模板中使用它时,jQuery不是同一个实例。

解决我的问题的终于是将此行添加到我的.base.js

require('jquery');

我不是100%确定,但我想暴露加载器正在识别此导入并为其创建全局范围。

也许这对其他人有帮助。


查看完整回答
反对 回复 2022-09-02
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号