【问题标题】:TypeError: $(...).tooltip is not a function with webpackTypeError: $(...).tooltip 不是 webpack 的函数
【发布时间】:2024-08-08 07:20:01
【问题描述】:

我正在尝试将我的应用程序从 requirejs 迁移到 webpack 2,但遇到了问题。

我的 webpack 配置:

 rules: [
            // rules for modules (configure loaders, parser options, etc.)

            {
                test: /\.jsx?$/,
                include: [
                    path.resolve(__dirname, "src")
                ],
                exclude: [
                    path.resolve(__dirname, "app/demo-files")
                ],

                enforce: "pre",
                enforce: "post",

            },

            {
                test: /underscore/,
                loader: 'expose-loader?_'
            },
            {
                test: /howler/,
                loader: 'expose-loader?Howl'
            },
            {
                test: /pathfinding/,
                loader: 'expose-loader?PF'
            },
            {
                test: /stats/,
                loader: 'expose-loader?Stats'
            },
            {
                test: /datgui/,
                loader: 'expose-loader?dat.gui'
            },
            { test: /jquery/,
                loader: 'imports?jQuery=jquery,$=jquery,this=>window'
            },
            {
                test: /jquery-ui/,
                use: [
                    'expose-loader?$',
                    'imports-loader?this=>window,jquery'
                ]
            }

在插件部分:

plugins: [
            new webpack.ProvidePlugin({
                "$":"libs/jquery/jquery.min",
                "jQuery":"libs/jquery/jquery.min",
                "window.jQuery":"libs/jquery/jquery.min"
            }),
        ]

但是当我这样做时,我有以下错误:

Game.js:48 Uncaught TypeError: $(...).tooltip is not a function
    at Game.init (Game.js:48)
    at Object.<anonymous> (init.js:6)
    at Object.<anonymous> (init.js:7)
    at __webpack_require__ (bootstrap aa1ecbe…:678)

你能帮我解决这个问题吗?我认为问题在于 jquery 的导入,但我不知道如何解决问题...

谢谢

【问题讨论】:

  • 我没有看到webpack的tooltip配置,你需要添加jquery.tooltip吗?
  • 您是否按照此处的所有说明进行操作? *.com/questions/33998262/…
  • 通过将其添加到我的别名:“jquery-ui”:“libs/jquery-ui/jquery-ui.min.js”,//绑定到模块;模块:path.join(__dirname,“node_modules”)我有另一个错误:未捕获的类型错误:无法设置未定义的属性'fontSpy'
  • @nico 当库无法正确加载时会出现这些错误。 Cannot set property 'fontSpy' of undefined 表示对象或变量是 null 并且您正在尝试设置它的属性。您将需要检查您的代码是否存在拼写错误或其他错误。您可能需要使用 jshint 等工具。

标签: jquery jquery-ui webpack webpack-2


【解决方案1】:

尝试添加

Popper: ['popper.js', 'default']

到你的插件

【讨论】: