


tutorial 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 dataLangkah pertama ialah membuka command prompt dan beralih ke pemacu D dan masukkan
"nama": "nama-permohonan",
"versi": "0.0.1",
"swasta": benar,
"skrip": {
"start": "node app.js"
},
"pergantungan": {
"express": "3.4.8",
"ejs": "*",
"mongodb": "*"
}
}
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
cookieSecret: 'myNews',
db: 'berita',
hos: 'localhost'
};
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 });
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
② Penyelia ialah program perlindungan proses Kami boleh menggunakannya untuk membantu kami memulakan semula program, kemudian melaraskan node_app.bat
kamiSudah tentu anda perlu memasangnya sebelum:
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
//Letakkan fungsi penghalaan ke dalam indeks
//app.get('/', routes.index);
//app.get('/users', user.list);
laluan(apl);
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:
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
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
Tajuk:
Kandungan:
Tajuk:
Kandungan:

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 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 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.

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 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.

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.

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

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


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

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
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
Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)