cari
Rumahhujung hadapan webtutorial jstutorial nodejs untuk mencipta sistem penerbitan artikel ringkas_node.js

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:


           

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
Memahami Enjin JavaScript: Butiran PelaksanaanMemahami Enjin JavaScript: Butiran PelaksanaanApr 17, 2025 am 12:05 AM

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanPython vs JavaScript: Keluk Pembelajaran dan Kemudahan PenggunaanApr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python vs JavaScript: Komuniti, Perpustakaan, dan SumberPython vs JavaScript: Komuniti, Perpustakaan, dan SumberApr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Dari C/C ke JavaScript: Bagaimana semuanya berfungsiDari C/C ke JavaScript: Bagaimana semuanya berfungsiApr 14, 2025 am 12:05 AM

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript: Membandingkan PelaksanaanEnjin JavaScript: Membandingkan PelaksanaanApr 13, 2025 am 12:05 AM

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Beyond the Browser: JavaScript di dunia nyataBeyond the Browser: JavaScript di dunia nyataApr 12, 2025 am 12:06 AM

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend)Membina aplikasi SaaS Multi-penyewa dengan Next.js (Integrasi Backend)Apr 11, 2025 am 08:23 AM

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing

Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend)Cara Membina Aplikasi SaaS Multi-Tenant dengan Next.js (Integrasi Frontend)Apr 11, 2025 am 08:22 AM

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)