您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“node esmodule模式下如何調用commonjs模塊”,內容詳細,步驟清晰,細節處理妥當,希望這篇“node esmodule模式下如何調用commonjs模塊”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
1、更換插件;
好像是廢話,其實不然。還是以postcss舉例,其實早已有issue跟進,但一直還沒更新過來。有看到重新實現的例如 postcss-es-modules(下載量不高,暫時沒去試過)。
或者通過vite/rollup框架本身的支持去使用插件(后面再講框架本身是怎么處理的), e.g.
// 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、通過nodejs支持的拓展方式(type: "module"情況下),將文件后綴改為.cjs,然后就可以通過 import default from '*.cjs' 導入 commonjs 模塊;e.g.
// 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、通過package.json的 exports 字段分別標志不同模塊的入口文件(這也是大部分三方庫常用做法); e.g.
// package.json "exports": { "import": "./index.js", "require": "./index.cjs" }
1、nodejs分別是怎么處理.mjs/.cjs后綴文件的?
nodejs總是以 esmodule 模塊加載.mjs文件,以 commonjs 加載 .cjs 文件。當package.json設置了 type: "module" 時,總是以 esmodule 加載.js文件。
讀到這里,這篇“node esmodule模式下如何調用commonjs模塊”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。