cari
Rumahhujung hadapan webtutorial jsPerbelanjaan penjejakan dengan couchdb dan sudut

Tutorial ini menunjukkan membina aplikasi penjejakan perbelanjaan menggunakan CouchDB (pangkalan data NoSQL) dan sudut (kerangka JavaScript). Aspek yang unik ialah API HTTP CouchDB, yang membolehkan komunikasi langsung antara frontend sudut dan pangkalan data, menghapuskan keperluan untuk pelayan backend yang berasingan.

Kami akan meliputi membina aplikasi kecil langkah demi langkah, dengan setiap langkah yang diwakili oleh komit (termasuk ujian, walaupun tidak terperinci di sini). Kod Lengkap boleh didapati di GitHub (pautan tidak disediakan dalam asal, perlu ditambah jika tersedia).

Konsep Utama:

  • HTTP API CouchDB: interaksi sisi klien langsung melalui permintaan HTTP memudahkan pembangunan.
  • Suntikan Ketergantungan Angular (DI): Menguruskan kebergantungan aplikasi, meningkatkan modulariti dan kesesuaian.
  • mengikat data dua hala: dengan cekap menyegerakkan model sudut dan pandangan, memastikan konsistensi UI dengan data CouchDB.
  • Pengesahan sisi klien dan pelayan: Angular mengendalikan pengesahan frontend, sementara CouchDB menguatkuasakan pengesahan dokumen untuk integriti data.
  • Skalabiliti: Tutorial mempamerkan teknik seperti arahan dan data yang mengikat untuk membina penyelesaian berskala.

Mengapa memilih Couchdb? Walaupun pilihan klien seperti IndexedDB dan penyimpanan tempatan wujud, pelayan pangkalan data menawarkan kelebihan, terutamanya untuk aplikasi kerjasama. Pelbagai pengguna boleh mengakses dan mengemas kini senarai perbelanjaan serentak. Sokongan HTTP asli CouchDB menghapuskan lapisan perantara, memudahkan komunikasi antara aplikasi dan pangkalan data. Sokongan yang wujud untuk replikasi menjadikan sistem pangkalan data yang diedarkan mudah dilaksanakan.

Prasyarat:

Pasang CouchDB terkini (versi 1.6 atau lebih baru) dan pelepasan Node.js stabil baru -baru ini (versi 0.10.x atau lebih baru).

Menyediakan persekitaran pembangunan:

  1. Pasang node.js dan alat:

    Gunakan pemasang (tersedia di laman web Node.js) atau pengurus pakej seperti NVM. Pasang , , , dan yo menggunakan NPM secara global: generator-angular grunt-cli couchapp npm install -g yo generator-angular grunt-cli couchapp

  2. Buat dan perancah aplikasi sudut:
  3. Buat direktori projek, navigasi kepadanya, dan gunakan penjana sudut:

    mkdir expenses && cd expenses && yo angular expenses

  4. Jalankan pelayan pembangunan:
  5. Gunakan Grunt untuk memulakan pelayan pembangunan:

    . Ini harus dibuka dalam penyemak imbas anda. grunt serve http://127.0.0.1:9000

    1. Pasang Couchdb: Ikuti arahan pemasangan CouchDB untuk sistem operasi anda. (mis., Menggunakan brew pada macOS).

    persediaan couchdb awal:

    1. Mula Couchdb: couchdb &

    2. Buat pangkalan data: curl -X PUT http://127.0.0.1:5984/expenses

    3. Masukkan dokumen awal: Gunakan curl untuk menambah entri perbelanjaan sampel (perintah contoh disediakan dalam tutorial asal).

    mengaktifkan CORS:

    Untuk membenarkan permintaan silang asal dari aplikasi sudut ke CouchDB, membolehkan CORS dalam konfigurasi CouchDB (biasanya local.ini). Tutorial menyediakan curl arahan untuk membolehkan CORS dan menetapkan asal -usul ke * (untuk pembangunan sahaja; ubah ini untuk pengeluaran).

    Suntikan Angular dan Ketergantungan:

    Tutorial menunjukkan menggunakan suntikan pergantungan Angular untuk menguruskan tetapan sambungan pangkalan data. A tetap appSettings dibuat untuk memegang url pangkalan data.

    mengambil data dengan Perkhidmatan $http Angular:

    Paparan CouchDB () dicipta untuk mendapatkan data perbelanjaan. Pengawal Sudut menggunakan perkhidmatan _design/expenses/_view/byName untuk membuat permintaan untuk pandangan ini dan mengemas kini $http dengan data yang diambil. Tutorial menunjukkan menggunakan $scope untuk memaparkan data dalam paparan. ng-repeat

    3 Tracking Expenses with CouchDB and Angular Borang HTML ditambah untuk membolehkan pengguna memasukkan perbelanjaan baru.

    Arahan mengikat input bentuk ke skop sudut. Arahan

    memanggil fungsi pengawal untuk menghantar data ke CouchDB menggunakan . Kemas kini optimis digunakan untuk memberikan maklum balas segera kepada pengguna.

    Menambah Pengesahan: ng-model ng-submit $http.post Pengesahan sisi pelayan dilaksanakan dalam dokumen reka bentuk CouchDB menggunakan

    . Pengesahan sisi klien ditambah menggunakan arahan Angular

    dan . Kesahan borang diperiksa menggunakan untuk melumpuhkan butang hantar jika borang tidak sah.

    validate_doc_update required ng-pattern Kesimpulan: form.$invalid

    Tutorial menyimpulkan dengan meringkaskan konsep utama yang diliputi dan mencadangkan topik penerokaan lanjut, seperti hosting di CouchDB, kemas kini dokumen, arahan tersuai, replikasi, dan fungsi pandangan yang lebih maju. Seksyen Soalan Lazim juga dimasukkan untuk menangani soalan -soalan biasa mengenai hosting, menggunakan JavaScript/Node.js/Couchdb bersama -sama, dan cadangan pemasangan/hosting.

Atas ialah kandungan terperinci Perbelanjaan penjejakan dengan couchdb dan sudut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?May 14, 2025 am 12:15 AM

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

Komen JavaScript: Panduan untuk menggunakan // dan / * * /Komen JavaScript: Panduan untuk menggunakan // dan / * * /May 13, 2025 pm 03:49 PM

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).