Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Analyse, wie das CommonJS-Modul im Node-Esmodule-Modus aufgerufen wird

Eine kurze Analyse, wie das CommonJS-Modul im Node-Esmodule-Modus aufgerufen wird

青灯夜游
青灯夜游nach vorne
2022-04-01 20:08:112202Durchsuche

Dieser Artikel wird das Erlernen von node fortsetzen und vorstellen, wie man das CommonJS-Modul im Esmodule-Modus aufruft. Ich hoffe, dass es für alle hilfreich ist!

Eine kurze Analyse, wie das CommonJS-Modul im Node-Esmodule-Modus aufgerufen wird

Ich habe in letzter Zeit viele nodejsSkripte geschrieben und bin auf ein Problem gestoßen. Nach der Änderung des Typs „Modul“ von package.json können einige Tools nicht normal verwendet werden (z. B. postcss-cli).

Dieser Artikel erfasst und löst hauptsächlich das Problem der Verwendung des CommonJS-Moduls im Esmodule-Modus.

Lösung

1. Ersetzen Sie das Plug-in.

Es scheint Unsinn, ist es aber nicht. Nehmen wir als Beispiel Postcss. Tatsächlich gab es ein Folgeproblem, das jedoch noch nicht aktualisiert wurde. Ich habe Neuimplementierungen wie postcss-es-modules gesehen (das Downloadvolumen ist nicht hoch, daher habe ich es noch nicht ausprobiert). Oder verwenden Sie Plug-Ins durch die Unterstützung des Vite/Rollup-Frameworks selbst (ich werde später darüber sprechen, wie das Framework selbst damit umgeht), z. B.

// 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,
}

2. Durch die von nodejs unterstützte Erweiterungsmethode (Typ: „Modul“). ), fügen Sie die Datei hinzu. Ändern Sie das Suffix in .cjs, und dann können Sie das commonjs-Modul über import default aus „*.cjs“ importieren, z. B.

// 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))

3. Markieren Sie die Eintragsdateien verschiedener Module über das Exportfeld des Pakets. json (dies wird auch häufig von den meisten Bibliotheken von Drittanbietern verwendet) Übung); z.B.

nodejs lädt .mjs-Dateien immer mit dem Modul esmodule und .cjs-Dateien mit commonjs. Wenn package.json auf den Typ „module“ eingestellt ist, werden .js-Dateien immer als esmodule geladen.

Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial!

Das obige ist der detaillierte Inhalt vonEine kurze Analyse, wie das CommonJS-Modul im Node-Esmodule-Modus aufgerufen wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen