Rails Bootstrap 3 с Webpacker - Dropdown не работает - PullRequest
0 голосов
/ 20 декабря 2018

Я знаю, что могу использовать bootstrap, так как контейнеры / строки работают на этом сайте, но по некоторым причинам не похоже, что JS работает для Bootstrap.

У меня есть следующие настройки в app> assets> javascripts> application.js

//= require rails-ujs
//= require rails-validator

В приложении> javascript> packs> application.js

import "babel-polyfill/dist/polyfill.js";
import nav from "./nav";

app> javascript> пакеты> стили> bootstrap.scss

@import '~bootstrap/dist/css/bootstrap';
@import '~bootstrap/scss/_functions';
@import '~bootstrap/scss/_variables';

config> webpack> environment.js

const environment = require('./environment')
environment.plugins.get("UglifyJs").options.uglifyOptions.ecma = 5
module.exports = environment.toWebpackConfig()

Gemfile.lock

bootstrap-sass (3.3.7)
  autoprefixer-rails (>= 5.2.1)
  sass (>= 3.3.4)

ИмеюПонятия не имею, что мне нужно обновить, чтобы JS действительно работал.

Я попытался обновить app> javascript> application.js с помощью:

// JS libraries
import "jquery"
import "jquery-ujs"
import "bootstrap"

Это приводит к ошибке Uncaught: Не удается найти модуль "jquery-ujs" и Uncaught ReferenceError: приложение не определено.

Я попытался добавить в app> javascript> application.js с помощью:

import 'bootstrap/dist/js/bootstrap';
import Rails from 'rails-ujs';
Rails.start();

Затем в моей конфигурации> webpacker> environment.js с:

const {
  environment
} = require('@rails/webpacker');

const webpack = require('webpack');
environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery',
  Popper: ['popper.js', 'default']
}));

module.exports = environment;

В конечном итоге с bootstrap.js: 7 Uncaught Ошибка: не удается найти модуль "popper.js" и home.js: 4 Uncaught ReferenceError: приложение не определено

1 Ответ

0 голосов
/ 20 декабря 2018

Может быть, вы могли бы попытаться добавить камень popper в ваш проект.Если я помню, он не включается автоматически.https://github.com/glebm/popper_js-rubygem

...