Perbezaan: Semasa merujuk kepada versi nod terkini yang dikeluarkan pada masa ini, yang mengandungi ciri-ciri terkini, tetapi akan menjadi tidak stabil dan akan dikemas kini, dioptimumkan atau ditetapkan dari semasa ke semasa manakala LTS merujuk kepada sokongan jangka panjang versi nod ialah versi stabil, dan fungsi yang terkandung di dalamnya adalah stabil.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.
Pergi ke tapak web rasmi nodejs untuk memuat turun https://nodejs.org Terdapat dua versi, LTS dan Semasa. Apa bezanya? Mana satu patut saya pilih? Sudah tentu, jika anda tahu perbezaannya, anda akan tahu versi mana yang hendak dipilih.
Ringkasan perbezaan antara LTS dan Semasa: Malah, seseorang boleh mengetahui dari nombor versi bahawa satu adalah baharu dan satu lagi lama. Semasa ialah versi terkini, dan ciri terkini semuanya ada di dalamnya. Ia hanya untuk anda mencuba dan menguji Jika semua orang menggunakannya dengan baik dan fungsinya stabil, ia akan dikeluarkan kepada versi LTS. Jadi LTS ialah versi yang stabil.
Berikut ialah pelan versi nodejs
Pelan Node.js LTS
Teras Node.js Selepas penggabungan Node.js dan io.js, untuk memastikan keluaran yang stabil dan teratur serta membolehkan pembangun mengatur naik taraf secara munasabah, LTS (Sokongan Jangka Panjang) mula digunakan untuk merancang kitaran keluaran. Versi LTS pertama ialah v4, dikeluarkan pada Oktober 2015. Di bawah pelan ini, versi Node.js adalah bersamaan dengan petikan cabang induk yang telah distabilkan pada masa tertentu Apabila masa tamat, bahagian stabil cawangan induk akan disepadukan dan versi baharu akan dikeluarkan. Oleh itu, keluaran Node.js adalah Berdasarkan peredaran masa, versi lompat adalah berdasarkan premis untuk memastikan keserasian rapat, dan bukannya pada bilangan keserasian dan ciri baharu. Ini juga menerangkan mengapa versi Node .js nampaknya melompat begitu pantas (bukan " Ah, kami telah menyimpan begitu banyak langkah besar, kami boleh mengeluarkan versi baharu!" tetapi "Ah, sudah tiba masanya untuk mengeluarkan versi baharu pada bulan April. Mari kita lakukan langkah besar yang kami ada disimpan dan lihat jika ada yang cukup stabil untuk ditambah. Helah ini tidak begitu besar..."). Perlu dinyatakan bahawa penyemak imbas malar hijau semasa/enjin JavaScript arus perdana/piawaian ECMAScript/standard C juga menggunakan prinsip yang sama, mengambil jangka masa sebagai penanda aras dan memintas ciri stabil daripada tulang belakang untuk dikeluarkan.
Setiap LTS akan mempunyai nama kod Ambil nama elemen daripada jadual berkala, susun mengikut abjad dan pilih yang sesuai. Nama kod v4 ialah Argon (argon), dan nama kod v6 ialah Boron (boron).
Peraturan penamaan versi Node.js mengikut Versi Semantik Nombor versi dibahagikan kepada tiga bahagian Nombor pertama (semver-major) meningkat, menunjukkan perubahan yang tidak serasi; meningkat, menunjukkan bahawa terdapat ciri baharu yang mengekalkan keserasian; nombor ketiga (semver-patch) meningkat, menunjukkan bahawa terdapat perubahan sambil mengekalkan keserasian dan ciri, seperti pembetulan pepijat atau penambahbaikan. Peraturan penamaan ini mempunyai kelebihan dan kekurangan, yang tidak akan diterangkan di sini Walau bagaimanapun, beberapa percanggahan membuat beberapa pengecualian kepada penamaan Node.js Sebagai contoh, walaupun kemas kini keselamatan menyebabkan ketidakserasian, untuk dapat mengemas kini kepada semua versi utama, ia masih semver.
Untuk pembangun aplikasi Node.js yang mengejar kestabilan, mereka hanya perlu membuat susulan dan menaik taraf dalam talian apabila versi menjadi LTS aktif pada bulan Oktober setiap tahun, iaitu setiap 12 Versi utama dinaik taraf sekali sebulan, dan setiap versi yang ditingkatkan mempunyai jangka hayat 18 hingga 12 bulan Anda tidak perlu terlalu risau tentang isu keserasian apabila membuat susulan pada kanak-kanak bawah umur dan tampung. Pengesyoran semasa adalah sebaik-baiknya untuk melengkapkan naik taraf dalam talian dalam tempoh 12 bulan selepas LTS aktif keluar (kerana LTS aktif seterusnya akan dikeluarkan selepas 12 bulan). Jika anda ketinggalan daripada jadual, anda boleh berkompromi sehingga 18 bulan, sebelum tamat tempoh aktif LTS ini. Jika anda tidak dapat mengejarnya, anda mesti sekurang-kurangnya menaik tarafnya sebelum tamat hayat versi ini dalam tempoh 30 bulan, jika tidak, tiada kemas kini keselamatan akan berlaku.
Jika anda bimbang tentang masalah keserasian yang dihadapi oleh naik taraf langsung, anda boleh menguji dan menaik taraf luar talian terlebih dahulu apabila versi bernombor genap keluar setiap April, dan maklum balas masalah itu kepada komuniti (sudah tentu, jika anda tidak ada masa) Tidak perlu risau tentang langkah ini), dan teruskan membuat susulan, dan naik taraf kepada versi dalam talian pada bulan Oktober. Dengan cara ini, kedua-dua jurusan dalam talian dan luar talian dinaikkan pangkat sekali setiap 12 bulan, tetapi titik masa adalah berbeza. Walaupun terdapat lebih banyak isu keserasian yang perlu disusuli di luar talian, anda juga boleh memastikan keperluan keserasian anda dijaga oleh komuniti melalui maklum balas.
Jika anda berminat untuk mencuba ciri baharu, atau jika anda merupakan projek percubaan yang tidak digunakan dalam persekitaran pengeluaran, anda boleh mencuba versi utama bernombor ganjil yang dikeluarkan setiap Oktober. Setiap versi bernombor ganjil hanya akan dikekalkan selama 8 bulan dan tidak akan ada jaminan keserasian seperti LTS, tetapi pembangun Node.js akan menggunakan versi ini untuk menyediakan LTS seterusnya, jadi ia akan mempunyai percubaan yang lebih berani. kemas kini v8 yang lebih kerap (bermaksud lebih banyak pelaksanaan ciri baharu ECMAScript dan pengoptimuman prestasi).
Oleh itu, pembangun yang masih menggunakan v4.x dalam talian sudah boleh bersedia untuk menaik taraf kepada v6.x. Jika aplikasi dalam talian anda masih menggunakan versi yang dikeluarkan sebelum pelan LTS dilancarkan, seperti v0.12.x, sebaiknya naik taraf kepada v4.x atau ke atas secepat mungkin, kerana v0.12.x tidak akan tersedia selepas Disember 2016. Tidak akan ada kemas kini keselamatan, apatah lagi versi terdahulu Sebab utamanya ialah kerentanan OpenSSL tidak akan diperbaiki, dan aplikasi ini akan terdedah kepada pelbagai risiko keselamatan. Sebaik sahaja anda menaik taraf kepada v4.
Pertama sekali, Repo Github Node.js mempunyai cawangan induk, dan kebanyakan komitmen diserahkan kepada cawangan ini melalui PR. Bergantung pada sama ada komitmen ini mengubah keserasian atau memperkenalkan ciri baharu, ia dilabelkan semver-major atau semver-minor.
Apabila LTS perlu disediakan sebelum April setiap tahun, Node.js akan mengambil cawangan baharu daripada cawangan induk Jika ini v6, maka cawangan ini dipanggil pementasan v6.x. Pengubahsuaian kemudian yang berkaitan dengan LTS/pengubahsuaian ini bertujuan untuk memasuki LTS ini, seperti pembetulan pepijat, dsb., masih menyerahkan PR kepada induk, tetapi anda perlu menambah teg lts-watch-v6.x. Selepas digabungkan menjadi induk, perubahan ini akan diambil oleh orang yang bertanggungjawab untuk mengeluarkan dan digabungkan ke dalam pementasan v6.x. Apabila versi pertama v6 sedia untuk dikeluarkan satu hari pada bulan April, orang yang bertanggungjawab untuk keluaran akan membuat cawangan v6.x dan menggabungkan perubahan daripada pementasan v6.x. Dari April hingga Oktober, semua pengubahsuaian kepada v6, sama ada kecil atau tampalan, masih diserahkan kepada induk dahulu, dan kemudian dipilih dan digabungkan menjadi pementasan v6.x, dan kemudian dimasukkan ke dalam v6.x apabila versi dikeluarkan. Dengan cara ini, tuan sentiasa mengekalkan perubahan terkini. Cawangan yang berkaitan dengan versi lain adalah lambang pencampuran komit yang dipilih daripada induk dan sesuai untuk versi keluaran v6.x-pementasan mengekalkan pengubahsuaian berkaitan v6.x LTS, dan v6.x mengekalkan versi setiap keluaran v6. . Kecuali orang yang bertanggungjawab untuk mengendalikan cawangan, pembangun lain tidak akan menyentuh cawangan berkaitan versi ini.
[Pembelajaran yang disyorkan: "tutorial nodejs"]
Atas ialah kandungan terperinci Apakah perbezaan antara lts dan arus dalam nodejs?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!