dockerでrails newしたときによくわからないファイルたちを調べてみる

dockerでrails6.1.4を使うために、色々調べて、rails newをした。

そしてたら、なんのためにあるのかわからいファイルが多すぎてちょっと焦tった...

このままだと、分からん地獄に陥りそうなので、ザックリと調べて、自分が今度焦らないようにメモを残しまっっ!

.browserslistrc

これは、どのブラウザに対応するかを決めるファイル

AutoprefixerでCSSにどのベンダープレフィックスを付けるかを決めることfができるらしい。

ちなみに、ベンダープレフィックスとは...

「ベンダープレフィックス(Bender Prefix)」とは、"Google Chrome" や "Mozilla Firefox"、"Safari" といったブラウザーのベンダーがCSS3の拡張機能を実装するのに使用する識別子のことです。 プレフィックス(Prefix)の意味は「接頭辞」です。CSS3のプロパティの接頭辞として「–webkit-」や「–moz-」を付けて「草案段階(WD:Working Draft)」のCSS3の仕様を先行して実装するときに利用します。
https://proengineer.internous.co.jp/content/columnfeature/6691より引用

-webkit-などをつけないとうまくブラウザで動かないとは...

なので、CSS3に対応していないであろうブラウザが予想されるときは下記のようにコードを書いていたみたいですね。

.example {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
       -ms-flex-align: center;
           align-items: center;
}
引用元:https://d-fount.com/benderprefix-and-autoprefixer/

こんなの、一つずつ記述しなきゃいけないと思うと気が遠くなりそう。

ここで、ベンダープレフィックスを解決してくれるのが、Autoprefixerです!

Autoprefixerとは...

ベンダープレフィックスに対応させたいブラウザを設定すると、自動でベンダープレフィックスを行ってくれるツールのこと。

本題に戻って...

.browserslistrcは、どのブラウザにAutoprefixerするかというもの。

rails newの段階では、.browserslistrcの中身は、

defaults

これだけ(笑)

これが何を表すか調べてみると、

defaultは、0.5%以上のシェア率があるブラウザの最新2バージョンと、
最新の「Firefox Extended Support Release」バージョンをサポートして、
過去24ヶ月以内にアップデートされていないものはサポートしないという意味だそう。

参考にさせていただいたサイト👇
https://qiita.com/takeshisakuma/items/0bc1c39ee976bd1f52d7

つまり、.browserslistrcは、Autoprefixerのサポート対象を選んでいるファイルということがわかりました!


.gitattributes

そのまま訳すと、「gitの属性」的な感じでしょうか...

これも調べてみると、

gitの改行コードなどの扱いを一緒にすることができる。これを用いることで、複数人開発のときに、改行コードの違いによる余計な差分などが生まれないそう。

他にも、こちらのサイトにあるように、checkout/add 時のフィルター指定や、差分生成の指定、マージ方法の指定ができるみたいです。

ちなみに、rails newしたときはこんな感じでした

db/schema.rb linguist-generated

yarn.lock linguist-generated

vendor/* linguist-vendored

これは、下記を表しているそうです。

・db/schema.rbとyarn.lockをプルリクの差分に含めないということ。
・vendorディレクトリの中のファイルは、gitの言語割合には含まれず、差分も含まれないということ。

babel.config.js

これは、Babel(JavaScriptコンパイラ)の設定のファイル。

Babelとは...ES6(JavaScriptの新バージョンみたいなもの)が、どのブラウザでも動くようにES6のコードをES5に変換する(コンパイラ)するツール

下記のサイトがめちゃわかりやすかった...😭
https://techracho.bpsinc.jp/hachi8833/2021_05_13/85940

つまり、これがあるおかげで、新しいJavaScriptでコードを書いても、安心ということですね!

config.ru

調べてみると、このファイルがないとrails sをしてもrailsが起動しないとのこと。

そして、これはRackのサーバ起動コマンドrackupの設定ファイルだということ。

詳しくは下記サイトに
https://hyottokoaloha.hatenablog.com/entry/2016/02/19/232216

まとめ

知らないファイルってあると結構不安になるので、今回調べてスッキリしました。

これからもわからない事は、調べていきます!!



この記事が気に入ったらサポートをしてみませんか?