LoginSignup
5
2

More than 1 year has passed since last update.

Phoenixのwebsocket部分のみ使いたい

Last updated at Posted at 2021-08-27

とある件でPhoenixでwebsocket部分のみ使いたいことがあったのでPhoenixプロジェクトの新規立ち上げ時に変更できる設定についてここに書こうと思います。僕自身がほとんど触れていない機能とかもあるので間違ってたらごめんなさい。

mix tasks

Phoenix公式のガイドにもあるように通常は下記のコマンドを実行して新規プロジェクトを作成します。

mix phx.new app_name

これを実行するとcontrollerとかデータベースあたりのコードとかいろいろたくさん生成されます。普通にアプリを作る場合はそれでいいのですが今回はwebsocketで使いたいだけなので極端な話channel以外いらないです。しかしありがたいことにオプションがありそこでいろいろいじれます。

options

公式ドキュメントのmix phx.new optionsの部分になります。
ぶっちゃけ公式ドキュメントを日本語に翻訳するだけになっちゃいますがオプションはこのようになってます。

--live

これはPhoenixのLiveViewの機能を使うときの設定みたいです。僕自身LiveViewを使ったことがないのであまり詳しいことはわからないです。

--umbrella

どういうこと??よくわからん。一つのプロジェクト内に複数アプリ作るってことぉ??

--app

OTPアプリケーションって何?w
ググったらワンタイムパスワードとかでてきたけどw
だれか教えてください。

--module

Google翻訳 -> 「生成されたスケルトンの基本モジュールの名前」
ちょっとなにいってるかわからない。

--database

使うデータベースを選ぶことでそれに合わせたアダプタになります。デフォルトはpostgreSQLだったはず。mySQLとか使いたいときはこのオプション入れたほうがいいです。あとから変更するのめんどくさいです。

--no-webpack

mix phx.newを実行したら一緒にjs周りもセッティングしてくれるのですがそのへんをやらないようにするやつです。フロント部分は別にするときやapiサーバとして実装するときはjsとかいらないのでこのオプション使うかもー(アル中カラカラ風)

--no-ecto

ectoについてはここでは説明しませんがまあそのまんまの意味でectoを作らないっていうオプションです。
軽く触れておくと基本的にPhoenixはectoを通してDBに接続するのでこのオプションを設定するとDB使えません。DB接続しないときの設定です。

--no-html

これももうそのまんまです。html生成しないようにするやつです。

--no-gettext

gettextはなんか多言語対応するときに使うらしい。僕自身は多言語対応しないといけない場面に今のところでくわしたことないのであんまわからないです。

--no-dashboard

デフォルトの場合だとダッシュボードのページが生成されるのですがそれを生成させないオプションです。個人的にはいらないことのほうが多い気がする。

--binary-id

これはecto内の設定ですね。主キーにバイナリーIDを使うかどうかの設定。使ったことないから詳しいことは知らないです。

--verbose

なにこれw
デバッグに使えるの?

さいごに

ほとんど使ったことない機能であんまかけることなかったです。すみません。
今現在僕がよくわかってない部分もけっこうありますがわかり次第追記しようとは今のところ思ってます(思ってるだけ)。なのでこんなことができるんやなあ程度に流してもらえると助かります。

つたないしょうもない文章を最後まで読んでいただきありがとうございます。。

追記

@torifukukaiouさんが「phx.newのオプションの疑問点について答えてみます (Elixir/Phoenix)」でこの記事に回答する形で記事を書いてくださいました。ぼくのおふざけまじりな記事がお恥ずかしいですが有難うございます!!
オプションについて知りたい方は@torifukukaiouさんの記事も読むことをおすすめします。

5
2
3

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
5
2