Rumah >hujung hadapan web >tutorial js >Analisis ringkas tentang cara memanggil modul commonjs dalam mod esmodule nod

Analisis ringkas tentang cara memanggil modul commonjs dalam mod esmodule nod

青灯夜游
青灯夜游ke hadapan
2022-04-01 20:08:112400semak imbas

Artikel ini akan meneruskan pembelajaran nod dan memperkenalkan cara memanggil modul commonjs dalam mod esmodule saya harap ia akan membantu semua orang!

Analisis ringkas tentang cara memanggil modul commonjs dalam mod esmodule nod

Saya telah menulis banyak skrip nodej baru-baru ini dan menghadapi masalah. Selepas mengubah suai jenis: "modul" package.json, sesetengah alatan tidak boleh digunakan seperti biasa (cth. postcss-cli).

Artikel ini terutamanya merekodkan dan menyelesaikan masalah cara menggunakan modul commonjs dalam mod esmodule.

Penyelesaian

1. Gantikan pemalam itu; Mari kita ambil postcss sebagai contoh Sebenarnya, terdapat

isu

untuk disusuli, tetapi ia masih belum dikemas kini. Saya telah melihat pelaksanaan semula seperti postcss-es-modules (jumlah muat turun tidak tinggi, jadi saya belum mencubanya lagi). Atau gunakan pemalam melalui sokongan rangka kerja vite/rollup itu sendiri (saya akan bercakap tentang cara rangka kerja itu sendiri mengendalikannya kemudian), mis.

2 oleh nodejs (jenis : huruf "modul"), tukar akhiran fail kepada .cjs, dan kemudian anda boleh mengimport modul commonjs melalui import lalai daripada '*.cjs' cth.
// tailwind.config.js
export default {
  purge: ['./*.html', './src/**/*.{vue,js,ts,jsx,tsx,css}'],
  darkMode: false, // or 'media' or 'class'
  theme: {
    extend: {},
  },
  variants: {
    extend: {},
  },
  plugins: [],
}
// postcss.config.js
import tailwind from 'tailwindcss'
import autoprefixer from 'autoprefixer'
import tailwindConfig from './tailwind.config.js'

export default {
  plugins: [tailwind(tailwindConfig), autoprefixer],
}
// vite.config.js
css: {
  postcss,
}

3 eksport Medan package.json masing-masing menandakan fail kemasukan modul yang berbeza (ini juga merupakan amalan biasa untuk kebanyakan perpustakaan pihak ketiga, mis.
// utils.cjs
function sum(a, b) {
  return a + b
}
module.exports = {
  sum
}
// index.js
import utils from './utils.js'

console.log(utils.sum(1, 2))

// package.json
"exports": {
  "import": "./index.js",
  "require": "./index.cjs"
}
Rekod Masalah

1. Bagaimana untuk menangani fail akhiran .mjs/.cjs masing-masing?

Nodejs sentiasa memuatkan fail .mjs dengan modul esmodule dan fail .cjs dengan commonjs. Apabila package.json ditetapkan untuk menaip: "modul", fail .js sentiasa dimuatkan sebagai esmodule.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati:

tutorial nodejs

!

Atas ialah kandungan terperinci Analisis ringkas tentang cara memanggil modul commonjs dalam mod esmodule nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam