TypeError: undefined не является функцией с Select2 и Brunch - PullRequest
0 голосов
/ 10 сентября 2018

У меня проблема с добавлением select2 в конфигурацию бранча. Я использую феникс фреймворк 1.3 с бранчем. Я думаю, что это связано с проблемой jQuery, но я не знаю, что вызвало это. Я проверил, что Brunch не загружает jQuery дважды.

Для простого вызова, как показано ниже, выбрасывается TypeError: undefined is not a function (near '...$('.select2-tags').select2...')

$('.select2-tags').select2({
       ajax: {
         url: API.tagSearchUrl(),
         dataType: 'json'
       }
    });

Вот мой конфиг позднего завтрака.

exports.config = {
  files: {
    javascripts: {
      joinTo: {
        "js/app.js": /^js/,
        "js/vendor.js": /^(?!js)/
      }
    },
    stylesheets: {
      joinTo: {
        "css/app.css": /^css/,
        "css/vendor.css": /^(?!css)/
      },
      order: {
        after: ["priv/static/css/app.scss"]
      }
    },
    templates: {
      joinTo: "js/app.js"
    }
  },

  conventions: {
    assets: /^(static)/
  },

  paths: {
    watched: ["static", "css", "js", "vendor", "scss", "fonts"],
    public: "../priv/static"
  },

  // Configure your plugins
  plugins: {
    babel: {
      ignore: [/vendor/]
    },
    sass: {
      options: {
        includePaths: [
          "node_modules/bootstrap/scss",
          "node_modules/font-awesome/scss",
        ],
        precision: 8
      }
    },
    copycat: {
      "fonts": ["node_modules/font-awesome/fonts"] // copy node_modules/font-awesome/fonts/* to priv/static/fonts/
    }
  },

  modules: {
    autoRequire: {
      "js/app.js": ["js/app"]
    }
  },

  npm: {
    enabled: true,
    whitelist: ["phoenix", "phoenix_html"],
    globals: {
      $: 'jquery',
      Popper: 'popper.js',
      bootstrap: 'bootstrap',
      _: 'underscore',
      alertifyjs: 'alertifyjs',
      Dropzone: 'dropzone',
      select2: 'select2' // version 4.0.5
    },
    styles: {
      alertifyjs: ["build/css/alertify.min.css", "build/css/themes/default.min.css"],
      dropzone: ["dist/min/dropzone.min.css"]
    }
  }
};

О боже, я думаю, что объяснил свою проблему, но переполнение стека не позволяет отправлять сообщения из-за соотношения кода и текста.

...