我已经考虑了几天了。
出于某种原因,我的语义 ui jQuery 不起作用。
所以这就是我所做的。
在我的 webpack/environment.js 上:
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}))
module.exports = environment
Run Code Online (Sandbox Code Playgroud)
我在 app/javascripts/packs 下添加了一个带有以下代码的 custom.js 文件:
$(document).on('turbolinks:load', function(){
$('.ui.dropdown').dropdown();
})
Run Code Online (Sandbox Code Playgroud)
然后在我的 application.js w/c 在 app/javascripts/packs 下我有 ff:
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("packs/custom")
Run Code Online (Sandbox Code Playgroud)
在 chrome 控制台上,我看到的是:
Uncaught TypeError: $(...).dropdown is not a function
at HTMLDocument.<anonymous> (custom.js:3)
at HTMLDocument.dispatch (jquery.js:4588)
at HTMLDocument.elemData.handle (jquery.js:4408)
at Object../node_modules/turbolinks/dist/turbolinks.js.e.dispatch (turbolinks.js:75)
at r.notifyApplicationAfterPageLoad (turbolinks.js:994)
at r.pageLoaded (turbolinks.js:948)
at …Run Code Online (Sandbox Code Playgroud)