ExpressJS - En İyi Uygulamalar

Tanımlanmış bir iş yapma şekli, dosya yapısı vb. Olan Django ve Rails'in aksine, Express tanımlı bir yol izlemez. Bu, uygulamayı istediğiniz gibi yapılandırabileceğiniz anlamına gelir. Ancak uygulamanızın boyutu büyüdükçe, iyi tanımlanmış bir yapıya sahip değilse sürdürmek çok zordur. Bu bölümde, uygulamalarımızı oluşturmak için genel olarak kullanılan dizin yapılarına ve endişelerin ayrılmasına bakacağız.

İlk olarak, düğüm ve Express uygulamaları oluşturmak için en iyi uygulamaları tartışacağız.

  • Her zaman kullanarak bir düğüm projesine başlayın npm init.

  • Bağımlılıkları her zaman bir --save veya --save-dev. Bu, farklı bir platforma geçerseniz, tüm bağımlılıkları yüklemek için sadece npm install komutunu çalıştırabilmenizi sağlayacaktır .

  • Küçük harfli dosya adları ve camelCase değişkenleri kullanın. Herhangi bir npm modülüne bakarsanız, küçük harfle adlandırılır ve kısa çizgilerle ayrılır. Bu modüllere ihtiyaç duyduğunuzda camelCase'i kullanın.

  • Node_modules'i depolarınıza göndermeyin. Bunun yerine npm her şeyi geliştirme makinelerine yükler.

  • Kullanın config değişkenleri depolamak için dosya

  • Rotaları kendi dosyalarına gruplayın ve izole edin. Örneğin, REST API sayfasında gördüğümüz film örneğindeki CRUD işlemlerini ele alalım.

Dizin Yapısı

Şimdi Express'in Dizin Yapısını tartışalım.

Web siteleri

Express, uygulama oluşturmak için topluluk tanımlı bir yapıya sahip değildir. Aşağıdaki, bir web sitesi için büyük ölçüde kullanılan bir proje yapısıdır.

test-project/
   node_modules/
   config/
      db.js                //Database connection and configuration
      credentials.js       //Passwords/API keys for external services used by your app
      config.js            //Other environment variables
   models/                 //For mongoose schemas
      users.js
      things.js
   routes/                 //All routes for different entities in different files 
      users.js
      things.js
   views/
      index.pug
      404.pug
        ...
   public/                 //All static content being served
      images/
      css/
      javascript/
   app.js
   routes.js               //Require all routes in this and then require this file in 
   app.js 
   package.json

Express ile web siteleri oluşturmak için başka yaklaşımlar da var. MVC tasarım modelini kullanarak bir web sitesi oluşturabilirsiniz. Daha fazla bilgi için aşağıdaki bağlantıları ziyaret edebilirsiniz.

https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168

ve,

https://www.terlici.com/2014/08/25/best-practices-express-structure.html.

RESTful API'ler

API'lerin tasarımı daha basittir; bir genel veya görünümler dizinine ihtiyaçları yoktur. API'ler oluşturmak için aşağıdaki yapıyı kullanın -

test-project/
   node_modules/
   config/
      db.js                //Database connection and configuration
      credentials.js       //Passwords/API keys for external services used by your app
   models/                 //For mongoose schemas
      users.js
      things.js
   routes/                 //All routes for different entities in different files 
      users.js
      things.js
   app.js
   routes.js               //Require all routes in this and then require this file in 
   app.js 
   package.json

Benzer bir yapı elde etmek için bir yeoman jeneratör de kullanabilirsiniz .