#author("2021-04-09T05:39:34+00:00","default:src128","src128")
#author("2022-08-02T05:17:44+00:00","default:src128","src128")
&tag(Rails6/jQuery);
*目次 [#lc695b48]
#contents
*関連ページ [#b403a336]
*参考情報 [#cf7fc130]
-[[【Rails6】jQueryがなかなか使い始められない人へ - Qiita:https://qiita.com/iiyama_makoto/items/940b130fd20540fd70f1]]
-[[Rails6でのjQuery導入方法 - Qiita:https://qiita.com/tatsuhiko-nakayama/items/b2f0c77e794ca8c9bd74]]

*組み込み手順 [#s0205b8f]
-以下のコマンドを実行。
 yarn add jquery
-webpackの設定ファイルを編集。jqueryのパスは相対パス指定が必要("jquery"のみだと動かない)。
-webpackの設定ファイルenvironments.jsを編集。jqueryのパスは相対パス指定が必要("jquery"のみだと動かない)。
#pre{{
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
}}

*webpackerで使う [#fcdfcd0b]
-app/javascript/packs/application.jsを編集し、以下を追加。
#pre{{
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")  // ←の1行を追加
// (後略)
}}
-app/javascript/test.jsを作成
#pre{{
$(function() {
  console.log("test");
});
}}
-application.jsに組み込む。
#pre{{
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require("jquery")
require("test.js")  // ←の1行を追加

}}

*sprocketsで使う [#o008e1d3]
-app/assets/javascripts/application.jsを作成(Rails6ではデフォルトで存在しない)。
#pre{{
function hello() {
    window.alert('hello world')
}
-app/assets/config/manifest.jsを編集。javascriptsの行を追加。
#pre{{
/= link_tree ../images
//= link_directory ../stylesheets .css
//= link_directory ../javascripts .js

}}
}}
-これで適当なindex.html.erbなどから呼び出せるはず。
#pre{{
<button onclick="hello()">Hello!</button>
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS