Rails 6 +纱线+数据表问题

问题描述 投票:0回答:1

我遇到了webpacker的麻烦。我正在使用Rails 6.beta3并尝试将Datatables添加到我的应用程序中。我的步骤:

 yarn add datatables.net-dt

然后在app/javascript/packs/application.js

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import 'bootstrap/dist/js/bootstrap';
import 'popper.js/dist/popper.js';

require( 'datatables.net-dt' )();

config/webpack/environment.js

const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
module.exports = environment
environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  Popper: ['popper.js', 'default']
}))

在此之后,如果加载页面,我在js控制台中收到错误:

Uncaught TypeError: Cannot set property '$' of undefined
    at DataTable (jquery.dataTables.js:129)

jquery.dataTables.js

 var DataTable = function DataTable(options) {
    this.$ = function (sSelector, oOpts) { // <---------error is here. Turns out this is not defined variable
      return this.api(true).$(sSelector, oOpts); 
    };

有任何想法吗?提前致谢

ruby-on-rails datatables yarnpkg webpacker ruby-on-rails-6
1个回答
0
投票

哎呀。这是我的坏。我发现了这个问题。在app/javascript/packs/application.js结束时出现了错误。我认为它没有对整体性能产生影响,但在消除了这些后,事情开始正常运行。

© www.soinside.com 2019 - 2024. All rights reserved.