nodeesmodule模式下如何調(diào)用commonjs模塊

本文小編為大家詳細介紹“node esmodule模式下如何調(diào)用commonjs模塊”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“node esmodule模式下如何調(diào)用commonjs模塊”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及茶樓設(shè)計等,在重慶網(wǎng)站建設(shè)公司、全網(wǎng)整合營銷推廣、WAP手機網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。

node esmodule模式下如何調(diào)用commonjs模塊

解決方案

1、更換插件;

好像是廢話,其實不然。還是以postcss舉例,其實早已有issue跟進,但一直還沒更新過來。有看到重新實現(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' 導入 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設(shè)置了 type: "module" 時,總是以 esmodule 加載.js文件。

讀到這里,這篇“node esmodule模式下如何調(diào)用commonjs模塊”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前題目:nodeesmodule模式下如何調(diào)用commonjs模塊
文章網(wǎng)址:http://muchs.cn/article10/ghijgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、靜態(tài)網(wǎng)站、商城網(wǎng)站響應(yīng)式網(wǎng)站、手機網(wǎng)站建設(shè)、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站