
Cara cepat memulai VUE3.0: Memasuki pembelajaran.
Saya telah menulis banyak skrip nodejs baru-baru ini dan mengalami masalah. Setelah memodifikasi tipe: "modul" dari package.json, beberapa alat tidak dapat digunakan secara normal (misalnya postcss-cli).
Artikel ini terutama mencatat cara mengatasi masalah penggunaan modul commonjs dalam mode esmodule.
1. Mengganti plug-in
sepertinya tidak masuk akal, padahal sebenarnya tidak. Kita ambil contoh postcss. Sebenarnya ada masalah yang perlu ditindaklanjuti, tapi belum diupdate. Saya telah melihat implementasi ulang seperti postcss-es-modules (volume unduhan tidak tinggi, jadi saya belum mencobanya).
Atau gunakan plug-in melalui dukungan framework vite/rollup itu sendiri (kita akan membicarakan bagaimana framework itu sendiri menanganinya nanti), misalnya
// tailwind.config.js
ekspor bawaan {
pembersihan: ['./*.html', './src/**/*.{vue,js,ts,jsx,tsx,css}'],
darkMode: false, // atau 'media' atau 'kelas'
tema: {
memperpanjang: {},
},
varian: {
memperpanjang: {},
},
plugin: [],
}
// postcss.config.js
impor tailwind dari 'tailwindcss'
impor autoprefixer dari 'autoprefixer'
impor tailwindConfig dari './tailwind.config.js'
ekspor bawaan {
plugin: [tailwind(tailwindConfig), autoprefixer],
}
// vite.config.js
css: {
pascacss,
} 2. Melalui metode perluasan yang didukung oleh nodejs (ketik: "modul"), ubah akhiran file menjadi
.cjs, lalu Anda dapat mengimpor modul commonjs melalui import default from '*.cjs';
fungsi jumlah(a, b) {
kembali a + b
}
modul.ekspor = {
jumlah
}
// indeks.js
impor utilitas dari './utils.js'
console.log(utils.sum(1, 2)) 3. Tandai file entri modul yang berbeda melalui bidang ekspor package.json (ini juga merupakan praktik umum untuk sebagian besar perpustakaan pihak ketiga)
; json
"ekspor": {
"impor": "./index.js",
"membutuhkan": "./index.cjs"
} 1. Bagaimana cara nodejs menangani file akhiran .mjs/.cjs?
Nodejs selalu memuat file .mjs dengan modul esmodule dan file .cjs dengan commonjs. Ketika package.json diatur ke tipe: "modul", file .js selalu dimuat sebagai esmodule.