Pertanyaan Alur Kerja Yeoman dan Integrasi dengan Backend Scripts


Jadi, saya sudah mengantisipasi Petani kecil dan itu sudah keluar selama seminggu atau lebih sekarang. Tetapi setelah berhasil menginstalnya, saya telah bingung pada alur kerja dan implementasi dengan skrip backend (API).

skenario 1

Jadi katakanlah saya tidak membutuhkan semua hal-hal BBB / Ember / Sudut mengkilap dan menggunakan Yeoman hanya untuk jQuery / H5BP / Modernizr didukung dengan Codeigniter atau Sinatra / Rails. Sejak yeoman server tidak mendukung PHP secara native (saya belum mencoba Sinatra / Rails), saya pikir alur kerjanya adalah:

  • Pengembangan Front End dengan Yeoman
  • Setelah selesai, lakukan yeoman build dan kemudian gunakan yang dibangun dist folder sebagai basis untuk mengembangkan backend (dan mungkin salin dist folder ke folder lain untuk implementasi backend (katakanlah public map)
  • Jika saya harus mengubah CSS / JS, gunakan yeoman lagi, buat dan salin dist folder ke public lagi. Jadi terus dan terus ...

Tetapi menggunakan alur kerja itu, itu berarti struktur direktori akan menjadi sesuatu seperti

cool-app/
--app/
  --yeoman development stuff
--test/
  --yeoman development stuff
--dist/
  --yeoman built stuff
.dotfiles
package.json
Gruntfile.js

Ini bagus dan semua, tapi agak berbeda dengan struktur direktori CodeIgniter / Rails. Belum lagi ada perbedaan nama (apakah ini dapat dikonfigurasi di Yeoman?), jadi agak sulit membayangkan alur kerja yang baik mengembangkan Front Front dan Back End sekaligus, kecuali menggunakan hasil yang dibangun sebagai dasar untuk backend.

Skenario 2

BBB / Ember / Angular. Terus terang saya baru saja menguji hal-hal itu, jadi tips apa pun untuk diterapkan dengan kode backend diterima! Meskipun untuk semua yang saya tahu, yeoman dapat menghasilkan file yang diperlukan untuk framework tersebut di dalam folder aplikasi, jadi saya pikir, solusi dari skenario pertama akan agak memecahkan masalah untuk skenario 2

Terima kasih banyak!


32
2017-09-20 08:29


asal


Jawaban:


Saya suka menggunakan struktur ini:

rails-app/
--app/
  --views/
    --js/
      --app/
      --test/
      --Gruntfile.js
--public

Begini cara saya mengaturnya:

  • rel-aplikasi rel baru
  • cd rails-app / app / views
  • mkdir js
  • cd js
  • yeoman init ember

Kemudian edit Gruntfile.js untuk mengubah "output: 'dist'" menjadi "output: '../../../public'"

Setelah itu, "yeoman build" atau "yeoman build: dist" akan di-output ke Rails / folder publik.

Selama dev, Anda masih dapat menggunakan "server yeoman" untuk menjalankan yeoman dalam mode pengembangan, sehingga perubahan apa pun yang Anda lakukan akan secara otomatis terlihat di browser.

Yeoman hebat!


37
2017-09-25 13:12



Jawaban Sanford juga akan bekerja untuk Sinatra, tetapi ada solusi yang sedikit berbeda yang dapat digunakan sehingga Anda tidak perlu mengeluarkan "yeoman build" untuk dijalankan dalam mode pengembangan.

Di Sinatra, folder publik dapat dikonfigurasi, sehingga Anda dapat memiliki blok konfigurasi yang terlihat seperti ini:

configure do
    set :public_folder, ENV['RACK_ENV'] == 'production' ? 'dist' : 'app'  
end

Kemudian gunakan rute Anda seperti ini:

get '/' do    
    send_file File.join(settings.public_folder, 'index.html')  
end

Ini mengasumsikan bahwa "yeoman init" dijalankan di folder root dari aplikasi Sinatra.

Yang Anda lakukan saat itu adalah memastikan bahwa Anda telah menjalankan "yeoman build" sebelum diterapkan ke lingkungan produksi, dan konten yang dioptimalkan oleh yeoman akan digunakan.


3
2017-12-29 09:02