Rumah >
hujung hadapan web >
tutorial js >
Bermula dengan membina pelayan Node.js, Express, Ejs, Mongodb dan pembangunan aplikasi dari scratch_node.js
Bermula dengan membina pelayan Node.js, Express, Ejs, Mongodb dan pembangunan aplikasi dari scratch_node.js
WBOY
Lepaskan: 2016-05-16 16:25:31
asal
1763 orang telah melayarinya
Artikel ini diadaptasi daripada "[Terjemahan] Panduan Bermula untuk Pembangun Bahagian Hadapan, Membina Node.js, Express, Jade, Mongodb Server dari Scratch" Feiyu. Sebab saya menukar Jade kepada Ejs adalah kerana saya fikir ejs adalah lebih sesuai. Tabiat pengaturcara WEB, lebih tepat lagi, harus lebih sesuai dengan tabiat penggunaan pengaturcara PHP dan ASP. Okay, tanpa berlengah lagi, mari kita mulakan tutorial secara langsung.
Bahagian 1 – Pemasangan 15 Minit
Jika anda benar-benar ingin belajar dari awal, maka luangkan masa untuk menyediakan persekitaran terlebih dahulu. Ia tidak sukar, dan saya menggunakan Win8, jadi ini kelihatan sedikit berbeza daripada tutorial yang menggunakan Mac dan Ubuntu atau sistem *nix lain, tetapi ia pada asasnya sama.
Langkah 1 – Pasang Node.JS
Senang sahaja, pergi ke tapak web rasmi Node.js, klik butang Pasang hijau besar, ia akan mengesan sistem anda secara automatik dan memberi anda muat turun fail pemasangan yang betul. (Jika tidak, klik butang Muat turun untuk memilih muat turun yang anda perlukan). Jalankan pemasang dan anda boleh pergi. Anda telah memasang Node.js dan NPM (Pengurus Pakej Node) membolehkan anda memasang pelbagai pakej berguna ke dalam Node dengan mudah.
Langkah 2 – Pasang Express
Sekarang kami menjalankan Node, kami memerlukan beberapa perkara yang membolehkan kami benar-benar membuat tapak yang boleh digunakan. Seterusnya kita perlu memasang Express, iaitu rangka kerja yang menukar Node daripada aplikasi primitif kepada pelayan web yang lebih seperti pelayan web yang biasa kita gunakan. Kita perlu bermula dengan Express kerana kita memerlukan fungsi perancah yang disediakannya. Kami memasukkan arahan ini:
Dengan cara ini, Express dipasang dengan betul dalam Nod kami dan telah disediakan secara global. Anda akan melihat sekumpulan output dalam tetingkap baris arahan, kebanyakannya http 304 dan permintaan GET, ini adalah perkara biasa. Express harus dipasang dan tersedia.
Langkah 3 – Buat projek Ekspres
Kami akan menggunakan Express dan Ejs, tetapi bukan untuk prapemprosesan CSS. Kami akan menulis beberapa CSS dengan tangan. Kita perlu menggunakan Ejs atau enjin templat lain untuk memproses data Nod dan Express. Ejs tidak sukar jika anda tahu HTML. Ingatlah bahawa anda perlu menumpukan perhatian, jika tidak, perkara mudah menjadi salah.
C:node>express --sessions nodetest1
buat : nodetest1
buat : nodetest1/package.json
buat : nodetest1/app.js
buat : nodetest1/routes
buat : nodetest1/routes/index.js
buat : nodetest1/routes/user.js
buat : nodetest1/views
buat : nodetest1/views/index.ejs
buat : nodetest1/public/images
buat : nodetest1/public/javascripts
buat : nodetest1/public
buat : nodetest1/public/stylesheets
buat : nodetest1/public/stylesheets/style.css
pasang kebergantungan:
$ cd nodetest1 && npm install
jalankan apl:
$apl nod
Langkah 4 – Edit Ketergantungan
Baiklah, kami kini mempunyai beberapa struktur projek asas, tetapi kami belum selesai. Anda akan melihat bahawa proses pemasangan ekspres mencipta fail yang dipanggil package.json dalam direktori nodetest1 anda Buka fail ini dengan editor teks.
Ini ialah fail format JSON standard yang mewakili aplikasi kami dan kebergantungannya. Kita perlu menambah sedikit. Contohnya, panggilan ke mongodb dan Monk. Tukar bahagian dependencies kepada ini:
Kini kami telah menentukan kebergantungan projek. * akan memberitahu NPM untuk "memasang versi terkini". Kembali ke tetingkap baris arahan, masukkan direktori nodetest1, dan masukkan:
Ia akan mengeluarkan sekumpulan barangan. Ini kerana ia membaca fail JSON kami yang diubah suai secara langsung, mengenal pasti kebergantungan di dalamnya dan memasang fail yang diperlukan. Apabila NPM dipasang, anda harus mempunyai direktori node_modules yang mengandungi semua fail pergantungan yang diperlukan oleh projek kami.
Kini kami mempunyai Apl berfungsi sepenuhnya dan ia sedia untuk dijalankan. Jom cuba! Pastikan direktori semasa anda ialah direktori nodetest1, masukkan:
luar biasa. Buka penyemak imbas dan masukkan http://localhost:3000 Anda seharusnya melihat halaman selamat datang Ekspres.
Kini anda mempunyai Node JS WebServer anda sendiri yang berjalan dengan enjin Express dan enjin templat HTML Ejs. Ia tidak begitu sukar, bukan?
Bahagian 2 – Okey, mari tulis “Hello, World!”
Buka editor teks yang biasa anda gunakan atau IDE lain Saya secara peribadi suka menggunakan Teks Sublime. Buka app.js dalam direktori nodetest1 anda. Fail ini adalah teras Apl anda. Anda sepatutnya melihat sesuatu seperti ini:
var express = memerlukan('express');
var route = require('./routes');
var user = require('./routes/user');
var http = memerlukan('http');
var path = memerlukan('path');
Ini hanya mentakrifkan sekumpulan pembolehubah JavaScript dan menunjuk kepada beberapa pakej dan kebergantungan, fungsi nod dan laluan. Laluan adalah bersamaan dengan koleksi Model dan Pengawal dalam MVC Mereka bertanggungjawab untuk memajukan permintaan dan juga mengandungi beberapa logik pemprosesan. Express telah mencipta semua perkara ini untuk kita Mari abaikan laluan pengguna buat masa ini dan mula menulis laluan peringkat teratas (dikawal oleh routesindex.js).
Ayat ini sangat penting. Ia menjadikan Express dan menyerahkannya kepada pembolehubah apl kami. Kandungan berikut akan menggunakan pembolehubah ini untuk mengkonfigurasi sekumpulan parameter Express. Teruskan menaip:
Ini menetapkan port, direktori untuk mencari paparan, enjin templat yang akan digunakan untuk memproses paparan ini dan beberapa perkara lain. Juga perhatikan baris terakhir, yang memberitahu Express untuk mengehoskan fail statik dalam direktori awam/ sebagai fail dalam direktori peringkat atas. Sebagai contoh, direktori imej anda disimpan dalam c:nodenodetest1publicimages, tetapi alamat akses sebenar ialah http://localhost:3000/images/.
Ini adalah untuk mengabaikan beberapa mesej amaran dalam tetingkap Nod semasa aplikasi sedang berjalan. Terutamanya beberapa kemungkinan pengubahsuaian masa hadapan untuk Express dan pemalamnya. Jika anda tidak membuat pengubahsuaian ini, anda akan menerima sekumpulan amaran bahawa fungsi tertentu akan tamat tempoh apabila program dijalankan.
Ini memberitahu penghala Laluan yang hendak digunakan apabila permintaan URI tiba. Ambil perhatian bahawa pembolehubah pengguna telah ditakrifkan lebih awal dan dipetakan ke /routes/user.js Kami akan memanggil fungsi senarai yang ditakrifkan dalam fail ini. Senarai pengguna boleh dipaparkan di sini.
http.createServer(app).listen(app.get('port'), function(){
console.log('Pelayan Ekspres mendengar pada port ' app.get('port'));
});
Akhir sekali, buat pelayan http dan mulakannya. Itu sahaja.
(Kandungan di atas lengkap dalam templat yang dihasilkan oleh ekspres baharu, tidak perlu menulisnya dalam diri anda)
Sekarang, mari tulis sesuatu yang berguna. Kami tidak akan menulis "Hello World!" secara langsung dalam halaman indeks kami. Kami akan mengambil peluang ini untuk mempelajari cara menggunakan penghalaan laluan dan mempelajari cara enjin Ejs berfungsi. Tambahkan baris selepas bahagian app.get() pada fail app.js di atas:
app.get('/helloworld', routes.helloworld);
Jika anda menekan ctrl C dalam tetingkap baris arahan untuk menamatkan proses app.js dan kemudian mulakannya semula, kemudian gunakan penyemak imbas untuk mengakses http://localhost:3000/helloworld, anda akan mendapat ralat nod yang sangat menarik dan perkara berikut mesej dalam tetingkap baris arahan: Sekumpulan gesaan ranap. Ini kerana kami belum mengubah suai penghalaan untuk mengendalikan laluan ini. Mari lakukan ini. Dalam editor anda, pergi ke direktori laluan, cari index.js dan bukanya. Ia sepatutnya kelihatan seperti ini:
Mari tambah halaman baharu. Saya lebih suka mencipta fail laluan bebas untuk setiap direktori peringkat pertama, tetapi kini kami tidak merancang untuk membina struktur direktori lengkap untuk helloworld di bawah paparan, jadi kami akan menggunakan penghalaan indeks buat masa ini. Pada penghujung fail ini tambahkan:
Ia akan bertanggungjawab untuk memproses permintaan URI ini, tetapi kini kami tidak mempunyai halaman sebenar untuk res.render untuk dipaparkan. Ini adalah tugas Ejs. Pergi ke direktori pandangan anda, buka index.ejs dan simpan sebagai fail helloworld.ejs. Ia sepatutnya kelihatan seperti ini: