Javascript 如何使用Rails+;网页包?
我正在用webpack设置一个新的rails项目,但我不知道如何启用引导插件(工具提示、警报等) 1) 已安装的依赖项:Javascript 如何使用Rails+;网页包?,javascript,ruby-on-rails,webpack,ruby-on-rails-6,Javascript,Ruby On Rails,Webpack,Ruby On Rails 6,我正在用webpack设置一个新的rails项目,但我不知道如何启用引导插件(工具提示、警报等) 1) 已安装的依赖项: yarn add bootstrap jquery popper.js 2) 我需要app/javascript/packs/application.js中的模块: require("@rails/ujs").start() require("turbolinks").start() require("@rails/activestorage").start() requi
yarn add bootstrap jquery popper.js
2) 我需要app/javascript/packs/application.js中的模块:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("popper.js")
require("bootstrap")
3) 在全局范围内启用了$
yjQuery
:
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
4) 我认为:
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip">
Button
</button>
有什么我遗漏的吗?试试这个
Rails 6.0.1
config/webpack/environment.js
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
})
)
module.exports = environment
import "../stylesheets/application"
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import 'bootstrap/js/src/tooltip'
import 'bootstrap/js/src/alert'
import './main'
window.$ = window.jQuery = $ // make $ available in console for debugging
// Wait for turbolinks load event
$(document).on('turbolinks:load', () => {
$('[data-toggle="tooltip"]').tooltip()
$('.alert').alert()
})
app/javascript/packs/application.js
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
})
)
module.exports = environment
import "../stylesheets/application"
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import 'bootstrap/js/src/tooltip'
import 'bootstrap/js/src/alert'
import './main'
window.$ = window.jQuery = $ // make $ available in console for debugging
// Wait for turbolinks load event
$(document).on('turbolinks:load', () => {
$('[data-toggle="tooltip"]').tooltip()
$('.alert').alert()
})
app/javascript/packs/main.js
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
})
)
module.exports = environment
import "../stylesheets/application"
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
import 'bootstrap/js/src/tooltip'
import 'bootstrap/js/src/alert'
import './main'
window.$ = window.jQuery = $ // make $ available in console for debugging
// Wait for turbolinks load event
$(document).on('turbolinks:load', () => {
$('[data-toggle="tooltip"]').tooltip()
$('.alert').alert()
})
app/javascript/stylesheets/application.scss
$primary: #757575;
$light: #e9ecef;
@import 'bootstrap';
@import 'custom.css';
加载上面的样式表
layouts/application.html.erb
添加
或者将
样式表链接标签
替换为样式表包装标签
。如果您不想在资产/样式表中使用样式表
您使用的是什么版本的引导?