您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“node esmodule模式下如何調(diào)用commonjs模塊”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“node esmodule模式下如何調(diào)用commonjs模塊”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
1、更換插件;
好像是廢話,其實(shí)不然。還是以postcss舉例,其實(shí)早已有issue跟進(jìn),但一直還沒更新過來。有看到重新實(shí)現(xiàn)的例如 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' 導(dǎo)入 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 字段分別標(biāo)志不同模塊的入口文件(這也是大部分三方庫常用做法); e.g.
// package.json "exports": { "import": "./index.js", "require": "./index.cjs" }
1、nodejs分別是怎么處理.mjs/.cjs后綴文件的?
nodejs總是以 esmodule 模塊加載.mjs文件,以 commonjs 加載 .cjs 文件。當(dāng)package.json設(shè)置了 type: "module" 時,總是以 esmodule 加載.js文件。
讀到這里,這篇“node esmodule模式下如何調(diào)用commonjs模塊”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。