使用 webpack 获取 'Uncaught TypeError: $(...).tablesorter is not a function'

Posted

技术标签:

【中文标题】使用 webpack 获取 \'Uncaught TypeError: $(...).tablesorter is not a function\'【英文标题】:Getting 'Uncaught TypeError: $(...).tablesorter is not a function' using webpack使用 webpack 获取 'Uncaught TypeError: $(...).tablesorter is not a function' 【发布时间】:2021-04-02 10:53:04 【问题描述】:

在使用 Webpack 迁移到 Rails 6 后,我收到了 Uncaught TypeError: $(...).tablesorter is not a function。这是我的 environment.js

const  environment  = require('@rails/webpacker')

const webpack = require('webpack')
environment.plugins.prepend('Provide',
  new webpack.ProvidePlugin(
    $: 'jquery/src/jquery',
    jQuery: 'jquery/src/jquery',
    tablesorter: 'tablesorter',
    bootstrap: 'bootstrap/dist/js/bootstrap',
    draggable: 'plain-draggable'
  )
)

module.exports = environment

相关的其他插件工作正常。

【问题讨论】:

@jonrsharpe 你解决了吗?我遇到了类似的问题,非常感谢您的建议。谢谢 @d_a_n 注意我是 编辑器 - 我刚刚修复了标签和格式。 【参考方案1】:

我不确定为什么,但是这样做可以:

import $ from 'jquery'
import 'tablesorter'

$(document).on('turbolinks:load', () => 
  $('.tablesorter').tablesorter()
)

【讨论】:

以上是关于使用 webpack 获取 'Uncaught TypeError: $(...).tablesorter is not a function'的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught ReferenceError: $ is not defined Webpack and embedded script

jQuery 浮点图表使用 webpack 生成“Uncaught TypeError: e.setTimeout is not a function”

Webpack Babel 加载错误 - Uncaught SyntaxError: Unexpected token import [重复]

Uncaught ReferenceError: $ is not defined in Rails 6 jquery webpacker

Vue.js 在组件中使用本地 javascript 文件函数:Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0__.writeSomething is

node 报错:Uncaught Error: Cannot find module "!!../../../node_modules/extract-webpack-plugin/load