Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 轨道6+;WebPack:未捕获类型错误:$(…)。select2不是函数_Javascript_Ruby On Rails_Webpack_Ruby On Rails 6 - Fatal编程技术网

Javascript 轨道6+;WebPack:未捕获类型错误:$(…)。select2不是函数

Javascript 轨道6+;WebPack:未捕获类型错误:$(…)。select2不是函数,javascript,ruby-on-rails,webpack,ruby-on-rails-6,Javascript,Ruby On Rails,Webpack,Ruby On Rails 6,我正在尝试让选择2在我的应用程序中工作,但无法。我通过纱线添加选择2添加了它。下面是我的代码 javascript/packs/application.js // This file is automatically compiled by Webpack, along with any other files // present in this directory. You're encouraged to place your actual application logic in //

我正在尝试让选择2在我的应用程序中工作,但无法。我通过
纱线添加选择2
添加了它。下面是我的代码

javascript/packs/application.js

// This file is automatically compiled by Webpack, along with any other files
// present in this directory. You're encouraged to place your actual application logic in
// a relevant structure within app/javascript and only use these pack files to reference
// that code so it'll be compiled.

require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("bootstrap")
require("tempusdominus-bootstrap-4")
require("moment/locale/ja")
require('select2')


// stylesheets
require("../stylesheets/application.scss")

import "@fortawesome/fontawesome-free/css/all.css";
import "./owl.carousel.min.js";
import 'select2';
import 'select2/dist/css/select2.css';

$(document).ready(function(){ 
    $('.customers-dropdown').select2();
    $("select").change(function(event) {
        $("#extra_price").html(formatCurrency($("#extra_" + $(".select").val()).html()));
        computetotal(event); 
    });

    $('#inlineDatepicker').datetimepicker({
        inline: true,
        sideBySide: false,
        format: 'L',
        useCurrent: false,
        defaultDate: $('#weekStardate').val(),
    
    });

    $("#inlineDatepicker").on("change.datetimepicker", ({date, oldDate}) => {   
        var fdate = moment(date)        
        $('#weekStardate').val(fdate.format("D/M/YYYY")) 
     })
        
}); 
package.json

{
  "name": "rails_6_devise_example",
  "private": true,
  "dependencies": {
    "@fortawesome/fontawesome-free": "^5.14.0",
    "@rails/actioncable": "^6.0.0-alpha",
    "@rails/activestorage": "^6.0.0-alpha",
    "@rails/ujs": "^6.0.0-alpha",
    "@rails/webpacker": "^5.2.1",
    "bootstrap": "^4.5.2",
    "bootstrap-datepicker": "^1.9.0",
    "jquery": "^3.5.1",
    "moment": "^2.27.0",
    "node-sass": "^4.12",
    "popper.js": "^1.16.1",
    "rails-ujs": "^5.2.4-3",
    "select2": "^4.1.0-rc.0",
    "tempusdominus-bootstrap-4": "^5.1.2",
    "turbolinks": "^5.2.0"
  },
  "version": "0.1.0",
  "devDependencies": {
    "webpack-dev-server": "^3.8.1"
  }
}
我得到
未捕获的TypeError:$(…)。select2不是一个函数
。我查看了很多帖子,正如建议的那样,我尝试从“jquery”添加
import$以上
导入'select2'可以工作,但会破坏datetimepicker导致
未捕获类型错误:jquery\uuu WEBPACK\u IMPORTED\u MODULE\uu 2\uuuuu default(…)(…)。datetimepicker不是一个函数
我不知道发生了什么


非常感谢您的帮助,谢谢

我很快就准备好了代码,效果很好。我刚刚在插件中添加了以下内容:

new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  'window.jQuery': 'jquery',
  moment: 'moment'
})
我还更改了订单,因为这正是turbolink想要的;)


当然有一些bug,但是我错过了
formatCurrency
,但是最重要的事情是有效的:)

这能回答你的问题吗@GrzegorzT.不,没有。正如我所说,从“jquery”添加
import$解决了该问题,但破坏了datetimepicker。我正在寻找一个解决方案,它将适用于bothAnd,它是否与依赖项无关,我指的是jquery和版本?看看这个解决方案,在githab上放一些版本,测试版本,因为现在我们就是这样拍摄的。
require("jquery")
require("bootstrap")
require("tempusdominus-bootstrap-4")
require("moment/locale/ja")
require("turbolinks").start()
require('select2')