我正在使用Rails 6,并尝试将自定义的JavaScript文件移动到外部文件中,但无法正常工作。如果我将代码移到erb文件中,JavaScript代码可以正常工作。你能帮助我吗?
这是index.html.erb(app/views/home/index.html.erb):
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<i class="fab fa-twitter"></i>
<i class="fas fa-home"> </i>
<button id="target" value="submit">Submit</button>
<script>
// this code is working if i put inside .erb file
/* $( "#target" ).click(function() {alert( "Testing" );}); */
</script>
这是 custom.js(app/javascript/packs/custom.js)文件。
console.log("File loaded");
$( "#target" ).click(function() {
alert( "Testing" );
});
这是我的应用程序.js(app/javascript/packs/application.js)
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('jquery')
require("packs/custom")
这是我的环境配置文件environment.js(app/config/webpack/environment.js):
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
module.exports = environment