tutorial nodejs untuk mencipta sistem penerbitan artikel ringkas_node.js

WBOY
Lepaskan: 2016-05-16 16:30:43
asal
1706 orang telah melayarinya

Kata Pengantar

Kami akan membuat sistem siaran berita yang mudah hari ini Peringkat pertama sistem tidak perlu terlalu sukar. Ia terutamanya mempunyai fungsi berikut

① Pengurusan jenis berita

② Pengurusan berita (dengan fungsi muat naik imej)

③ menyemak imbas berita

Walaupun tidak banyak fungsi, ia juga meliputi banyak operasi asas Program ini hanya menambah, memadam, menyemak dan memuat naik lampiran, yang sudah memadai. Jadi mari kita mulakan pengajian kita hari ini

Persediaan

Selepas masalah semalam, kami sudah mempunyai persekitaran nodeJS dan mongoDB Kini kami boleh terus mencipta fail projek dan fail pangkalan data

Langkah pertama ialah membuka command prompt dan beralih ke pemacu D dan masukkan

Salin kod Kod adalah seperti berikut:
D:>express -e news
Kemudian sistem akan membina persekitaran asas secara automatik dengan gembira

Jelas sekali, banyak kebergantungan modul tidak ada pada masa ini, cuma ambil ujian pakej semalam.json:

Salin kod Kod adalah seperti berikut:
{
"nama": "nama-permohonan",
"versi": "0.0.1",
"swasta": benar,
"skrip": {
"start": "node app.js"
},
"pergantungan": {
"express": "3.4.8",
"ejs": "*",
"mongodb": "*"
}
}

Kemudian beralih ke direktori projek:

Salin kod Kod adalah seperti berikut:
nmp install
Selepas semua fail bergantung dimuat turun, kami masukkan

Salin kod Kod adalah seperti berikut:
D:news>apl nod
Mendengar pelayan ekspres pada port 3000


Jadi, program kami berjalan dengan gembira Apabila kami membuka URL, kami mendapati bahawa memang tiada masalah

PS: Terdapat masalah yang memerlukan perhatian di sini Fail yang kami muat turun tidak dikodkan UTF-8, jadi pengekodan fail perlu disatukan sendiri

Apabila program berjalan, konfigurasi berkaitan pangkalan data diperlukan

① Mula-mula buat folder berita baharu dalam direktori mongoDB

② Tambahkan tetapan fail konfigurasi.js pada projek

Salin kod Kod adalah seperti berikut:
module.exports = {
cookieSecret: 'myNews',
db: 'berita',
hos: 'localhost'
};

③ Cipta direktori model baharu dan cipta db.js baharu

Salin kod Kod adalah seperti berikut:
var tetapan = memerlukan('../settings'),
Db = memerlukan('mongodb').Db,
Sambungan = memerlukan('mongodb').Sambungan,
Pelayan = memerlukan('mongodb').Pelayan;
module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT), { safe: true });

④ Cipta program news.bat baharu pada desktop

Salin kod Kod adalah seperti berikut:
d:mongodbbinmongod.exe -dbpath d:mongodbnews
Untuk memulakan pangkalan data pada masa hadapan, kami hanya perlu menjalankannya Dengan cara ini, persediaan awal kami pada dasarnya selesai

Tetapi terdapat dua perkara yang menjengkelkan di sini. Satu adalah menjengkelkan untuk memulakan program berita setiap kali, dan satu lagi ialah anda perlu memulakan semula untuk mengubah suai apa-apa, jadi kami akan menyelesaikan kedua-dua masalah ini di sini dahulu

① Cipta news_app.bat baharu pada desktop dan jalankannya kemudian untuk memulakan program

Salin kod Kod adalah seperti berikut:
nod d:newsapp

② Penyelia ialah program perlindungan proses Kami boleh menggunakannya untuk membantu kami memulakan semula program, kemudian melaraskan node_app.bat

kami

Salin kod Kod adalah seperti berikut:
penyelia d:newsapp

Sudah tentu anda perlu memasangnya sebelum:

Salin kod Kod adalah seperti berikut:
npm install -g supervisor

Selepas ini, tidak perlu dimulakan semula secara manual selepas mengubah suai fail (news_app perlu diletakkan dalam direktori projek), jadi kerja penyediaan berakhir di sini

Struktur Projek

Selepas langkah pertama, kita perlu memikirkan struktur projek

① Halaman utama ialah indeks di mana semua jenis berita dan item berita akan disenaraikan

② Setiap item berita mempunyai tiga butang: edit/padam/lihat

③ Halaman utama mempunyai butang untuk menambah berita (anda boleh memuat naik gambar semasa menambah)

Fungsi asas adalah seperti di atas

Jadi, kami mengalih keluar fungsi penghalaan dalam apl dan meletakkan semua laluan dalam indeks

Salin kod Kod adalah seperti berikut:

//Letakkan fungsi penghalaan ke dalam indeks
//app.get('/', routes.index);
//app.get('/users', user.list);
laluan(apl);

Salin kod Kod adalah seperti berikut:

module.exports = fungsi (apl) {
//Halaman utama, kini juga halaman utama
app.get('/', function (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.send('Tambah permintaan berita');
});
app.get('/delete', function (req, res) {
res.send('Padam permintaan berita');
});
app.get('/view', function (req, res) {
res.send('Lihat permintaan berita');
});
app.get('/update', function (req, res) {
res.send('Ubah suai permintaan berita');
});
};

Langkah pertama adalah semudah ini, kerana menambah berita harus mempunyai halaman yang berasingan, dan mengklik butang tambah akan mempunyai pemprosesan lain, jadi setiap permintaan mesti dipecahkan secara dalaman adalah seperti berikut:

/ Halaman lalai, yang memaparkan semua genre dan berita, dengan butang padam

/tambah Masukkan halaman tambah berita

/addNews Tambah alamat permintaan siaran khusus berita (balas apabila mengklik butang)

/padam Padam permintaan berita

/lihat pertanyaan berita khusus

Jadi saya ubah suai sedikit laluan di atas:

Salin kod Kod adalah seperti berikut:

module.exports = fungsi (apl) {
//Halaman utama, kini juga halaman utama
app.get('/', function (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.send('Tambah halaman berita');
});
app.post('/addNews', fungsi (req, res) {
res.send('Memproses permintaan untuk menambah berita');
});
app.get('/delete', function (req, res) {
res.send('Padam permintaan berita');
});
app.get('/view', function (req, res) {
res.send('Lihat permintaan berita');
});
};

Jadi kami perlu mencipta beberapa templat baharu untuk menyusun halaman web kami Di sini kami tidak memisahkan kepala dan ekor, hanya halaman paling mudah

Menambahkan dua fail templat, tambah dan lihat, yang buat sementara waktu berkelakuan sama seperti index.ejs dan navigasi yang diubah suai

Salin kod Kod adalah seperti berikut:

module.exports = fungsi (apl) {
//Halaman utama, kini juga halaman utama
app.get('/', function (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.render('tambah', { tajuk: 'Tambah halaman berita' });
});
app.post('/addNews', fungsi (req, res) {
res.send('Memproses permintaan untuk menambah berita');
});
app.get('/delete', function (req, res) {
res.send('Padam permintaan berita');
});
app.get('/view', function (req, res) {
res.render('view', { title: 'Lihat permintaan berita' });
});
};

Ini adalah penamat struktur projek

Kendalian Data

Selepas struktur keseluruhan keluar, kami perlu melakukan operasi data:

① Tambah data (tambah berita)

② Paparkan data (paparkan berita)

③ Padam data (padam berita)

Pada asalnya, ia juga melibatkan operasi jenis, tetapi saya tidak dapat memikirkannya kerana saya akan membiarkannya buat sementara waktu, kerana ia mudah keliru apabila melakukannya buat kali pertama<.>

Tambah berita

Di sini, kami tidak menggunakan penyerahan borang, kami menggunakan ajax... Di sini kami memperkenalkan perpustakaan zepto, jadi halaman kami menjadi seperti ini

Salin kod Kod adalah seperti berikut:




                                                                                                                                                                                                                                            




                                                                                                                                                                                                                                                      

Tajuk:


Kandungan:


           

Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan

Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!