2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CBcloudAdvent Calendar 2024

Day 5

最新rails8でreact & typescript & tailwindcssを一緒に使う方法!

Last updated at Posted at 2024-12-04

はじめに

rails8でreact & typescript & tailwindcssを使って動作検証をしたい時はないでしょうか?
私はございましてセットアップを行いましたので備忘録を残しておきます!

環境

❯ ruby -v                                                  
ruby 3.3.6 

❯ rails -v                                                 
Rails 8.0.0

railsのセットアップ

以下のように実行することで、tailwindを最初から使用でき、reactを後から簡単に導入できる形でrailsをnewできます

rails new react-rails --javascript esbuild --css tailwind

テストで軽くtailwindが使えているか見ます

 bundle exec rails g controller tests index
app/views/tests/index.html.erb
<h1 class="text-orange-700">Tests#index</h1>
<p>Find me in app/views/tests/index.html.erb</p>

サーバーを立ち上げます

./bin/dev

http://127.0.0.1:3000/tests/indexにアクセスすると以下のように表示できました
スクリーンショット 2024-12-01 9.25.33.png

reactのセットアップ

以下のコマンドでreactのライブラリ関連をインストールします

yarn add react react-dom

yarn add -D @types/react @types/react-dom

以下のようなファイルを追加します

app/javascript/Test.tsx
import React from 'react';
import { createRoot } from 'react-dom/client';

const container = document.getElementById('root');

const root = createRoot(container);

document.addEventListener('DOMContentLoaded', () => {
  root.render(
    <>
      <h1 className="text-blue-600">呼ばれたよ</h1>
    </>
  );
});

先ほどのindex.html.erbを以下のように修正します

app/views/tests/index.html.erb
<h1 class="text-orange-700">Tests#index</h1>
<p>Find me in app/views/tests/index.html.erb</p>

<%= javascript_include_tag "Test", defer: true %>

<div id="root"></div>

tailwind.config.jsの設定を変更します

tailwind.config.js
     // './app/javascript/**/*.js'
     './app/javascript/**/*.*' //こう変更する

サーバーを立ち上げます

./bin/dev

http://127.0.0.1:3000/tests/indexにアクセスすると以下のように表示できました
スクリーンショット 2024-12-01 10.36.28.png

最後に

弊社CBcloudではエンジニアの募集を行なっております!
https://recruit.cb-cloud.com/

railsもいっぱい書けますので、rubyやrailsが大好きな仲間を募集してます!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?