Восхождение по кривой обучения с Webpacker и Rails 6.
Я установил Boostrap 4 с использованием Yarn и Webpacker. Когда я пытаюсь поиграть с компонентами Bootstrap в консоли JS браузера, я получаю: TypeError: $.fn.button is undefined
.
Если я удаляю установку Yarn, добавляю ссылку CDN Bootstrap в head
HTML (по-старому)все отлично работаетКогда я удаляю ссылки CDN и возвращаюсь к использованию Webpacker, я возвращаюсь к ошибке выше.
Вот мои настройки Webpacker:
// package.json
{
"name": "depot",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0-alpha",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.0-alpha",
"@rails/webpacker": "^4.0.7",
"bootstrap": "4.2.1",
"jquery": "^3.4.1",
"popper.js": "^1.15.0",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.8.0"
}
}
// enviornment.js
const { environment } = require("@rails/webpacker");
const webpack = require("webpack");
environment.plugins.append(
"Provide",
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
Popper: ["popper.js", "default"]
})
);
module.exports = environment;
// application.js
require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery");
require("bootstrap");
import "./src/application.scss";
# layouts/application.html.haml
!!!
%html
%head
%meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}
%title Depot
= csrf_meta_tags
= csp_meta_tag
= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
Isчто-то, что я должен сделать, чтобы экспортировать функции Bootstrap в глобальное пространство имен?