「Laravel - Laravelの構造」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
32行目: 32行目:
<br><br>
<br><br>


== resourcesディレクトリとpublicディレクトリの違い ==
==== resources ディレクトリ ====
ソースコードを配置する場所であり、コンパイル / バンドル前のファイルが置かれる。<br>
Sass, TypeScript, モダンなJavaScript (ES6+) 等の開発用コードを配置する。<br>
<br>
また、npmパッケージからインポートしたコードも含める。<br>
<br>
これは、Vite / Webpackにより処理される前の状態である。<br>
<br>
==== publicディレクトリ ====
Webブラウザから直接アクセス可能なファイルを配置する。<br>
Webブラウザが解釈できる形式 (通常のCSS, ES5 JavaScript)<br>
<br>
コンパイル / バンドル済みのファイルである。<br>
(最適化・圧縮済みの本番向けのコード等)<br>
(アセットのビルド後の出力先)<br>
<br>
==== 具体例 ====
<syntaxhighlight lang="scss">
// resources/css/app.scss
@import 'variables';
.button {
  @apply bg-blue-500;
  &:hover {
    @apply bg-blue-600;
  }
}
</syntaxhighlight>
<br>
<syntaxhighlight lang="scss">
// public/css/app.css (コンパイル後)
.button {
  background-color: #3b82f6;
}
.button:hover {
  background-color: #2563eb;
}
</syntaxhighlight>
<br>
===== 開発フロー =====
# resources 下で開発を行う。
# vite build / npm run build でコンパイル。
# 結果がpublicディレクトリに出力される。
# publicのファイルがWebサーバから配信される。
<br>
resourcesは開発向け、publicは本番配信向けという役割の違いがある。<br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:Web]]
[[カテゴリ:Web]]

2024年11月3日 (日) 09:48時点における版

概要



ディレクトリ構成

ディレクトリ名 説明
app アプリケーションのプログラム部分が存在するディレクトリである。
アプリケーションの開発時には、必要なスクリプトファイルを追加する。
bootstrap アプリケーションの起動時に実行される処理(laravelフレームワークの起動コード)が存在する。
config 設定ファイルが存在するディレクトリである。
database データベース関連のファイルが存在する。
MigrationファイルなどDB関連のファイル等が配置される。
public 公開ディレクトリである。
CSS、JS等の外部に公開するファイルを配置する。

NginXおよびApache2のドキュメントルートの設定では、このディレクトリを指定する。
resources プログラムが使用するリソース関連のファイル(例: ビューや言語変換用ファイル等)が存在するディレクトリである。
プログラムのテンプレートファイル等が存在する。
routes ルーティング情報が保存されているディレクトリである。
アクセスするアドレスに割り当てられるプログラムの情報等が記載されている。
storage アプリケーションのプログラムが保存するファイル等(例: ログファイル)を配置する。
tests ユニットテスト関係のファイルが存在するディレクトリである。
テストコード等を配置する。
vendor フレームワーク本体のプログラムが存在するディレクトリである。
Composerでインストールしたライブラリが保存されている。



resourcesディレクトリとpublicディレクトリの違い

resources ディレクトリ

ソースコードを配置する場所であり、コンパイル / バンドル前のファイルが置かれる。
Sass, TypeScript, モダンなJavaScript (ES6+) 等の開発用コードを配置する。

また、npmパッケージからインポートしたコードも含める。

これは、Vite / Webpackにより処理される前の状態である。

publicディレクトリ

Webブラウザから直接アクセス可能なファイルを配置する。
Webブラウザが解釈できる形式 (通常のCSS, ES5 JavaScript)

コンパイル / バンドル済みのファイルである。
(最適化・圧縮済みの本番向けのコード等)
(アセットのビルド後の出力先)

具体例

 // resources/css/app.scss
 
 @import 'variables';
 .button {
   @apply bg-blue-500;
   &:hover {
     @apply bg-blue-600;
   }
 }


 // public/css/app.css (コンパイル後)
 
 .button {
   background-color: #3b82f6;
 }
 
 .button:hover {
   background-color: #2563eb;
 }


開発フロー
  1. resources 下で開発を行う。
  2. vite build / npm run build でコンパイル。
  3. 結果がpublicディレクトリに出力される。
  4. publicのファイルがWebサーバから配信される。


resourcesは開発向け、publicは本番配信向けという役割の違いがある。