Rails 5で行っていたように、フロントエンドを整理しようとしています。関数を含むいくつかのjsファイルがあり、必要に応じてコードのさまざまな場所でこの関数を使用しました。しかし、Rails 6 での js の操作はまったく異なります。とにかく、packs と webpacker についての主要なアイデアが得られたと思います。しかし、カスタム js 関数を使用するにはどうすればよいでしょうか。あるファイルに書き込んで別のファイルで使用しますか? やり方はあるはずです。
たとえば、いくつかのカスタム js パックがあります。
app/javascript/packs/custom_pack_with_functions.coffee :
console.log 'hey'
@hi = () ->
console.log 'HI'
そして、そのhi
機能が私の見解で利用可能になることを期待しています。
some_view.html.slim :
= javascript_pack_tag 'custom_pack_with_functions'
javascript:
hi()
しかし、適切なページに来ると、コンソールに次のメッセージのみが表示されます。
hey
ReferenceError: hi is not defined
hi
どこからでも使えるように関数を定義するには?