初めての AngularJS プロジェクトを試みようとしています。AngularJS と Node.js の両方を同時にゼロから学習することを意味しますが、バックエンドに Node.js を使用することは理にかなっています。
私が理解しようとしている最初のことは、適切なファイル構造です。これまでのところ、私の純粋な HTML/CSS テンプレートのディレクトリ構造は次のとおりです...
_site/
Fonts/
Javascript/
SASS/
Stylesheets/
Index.html
( _site は PSD などの作業ディレクトリです。)
ここでNode.js/AngularJS アプリのディレクトリ構造の例を見つけました....
...これは、次のディレクトリ構造を示唆しています。
app.js --> Application configuration
package.json --> For npm
public/ --> All of the files to be used in on the client side
css/ --> CSS files
app.css --> Default stylesheet
img/ --> Image files
js/ --> JavaScript files
app.js --> Declare top-level application module
controllers.js --> Application controllers
directives.js --> Custom AngularJS directives
filters.js --> Custom AngularJS filters
services.js --> Custom AngularJS services
lib/ --> AngularJS and third-party JavaScript libraries
angular/
angular.js --> The latest AngularJS
angular.min.js --> The latest minified AngularJS
angular-*.js --> AngularJS add-on modules
version.txt --> Version number
routes/
api.js --> Route for serving JSON
index.js --> Route for serving HTML pages and partials
views/
index.jade --> Main page for the application
layout.jade --> Doctype, title, head boilerplate
partials/ --> AngularJS view partials (partial jade templates)
partial1.jade
partial2.jade
したがって、これは私には非常に良いように見えます (Jade を使用しないという事実を除いて)。
私はまだ次の質問があります...
すべてのフロントエンド ファイルとバックエンド ファイルを分けておきたい。このソリューションは、すべてのフロントエンド ファイルを public/ ディレクトリに配置します。これは、ほとんどがパブリックである必要があるため、理にかなっていますが、SASS および _site フォルダーをここに配置することは理にかなっていますか? それらをそのままにしておくことはできますが、本番環境に置くときにアップロードすることはできませんが、公開すべきではないため、間違っているようです. また、すべてのバックエンドのものと一緒にルート レベルに属していません。
CDNから AngularJS をロードしたほうがよいのではないでしょうか?
サーバーが 1 つのテンプレート (メイン アプリケーション テンプレート) を配信するだけでよく、他のすべての HTML がフロントエンドで構築されることを考えると、index.html ファイルを静的に保持し、ビュー フォルダーを削除し、元の AngularJS Seed アプリケーションのように public/ の下に partials/ フォルダーを作成しますか?
これはすべて意見の問題であり、技術的には好きな場所に配置できることを認識していますが、私よりも経験豊富な人がさまざまなディレクトリ構造の落とし穴についてアドバイスしてくれることを願っています.