千家信息网

node esmodule模式下如何调用commonjs模块

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本文小编为大家详细介绍"node esmodule模式下如何调用commonjs模块",内容详细,步骤清晰,细节处理妥当,希望这篇"node esmodule模式下如何调用commonjs模块"文章能
千家信息网最后更新 2025年01月20日node esmodule模式下如何调用commonjs模块

本文小编为大家详细介绍"node esmodule模式下如何调用commonjs模块",内容详细,步骤清晰,细节处理妥当,希望这篇"node esmodule模式下如何调用commonjs模块"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

解决方案

1、更换插件;

好像是废话,其实不然。还是以postcss举例,其实早已有issue跟进,但一直还没更新过来。有看到重新实现的例如 postcss-es-modules(下载量不高,暂时没去试过)。

或者通过vite/rollup框架本身的支持去使用插件(后面再讲框架本身是怎么处理的), e.g.

// tailwind.config.jsexport default {  purge: ['./*.html', './src/**/*.{vue,js,ts,jsx,tsx,css}'],  darkMode: false, // or 'media' or 'class'  theme: {    extend: {},  },  variants: {    extend: {},  },  plugins: [],}// postcss.config.jsimport tailwind from 'tailwindcss'import autoprefixer from 'autoprefixer'import tailwindConfig from './tailwind.config.js'export default {  plugins: [tailwind(tailwindConfig), autoprefixer],}// vite.config.jscss: {  postcss,}

2、通过nodejs支持的拓展方式(type: "module"情况下),将文件后缀改为.cjs,然后就可以通过 import default from '*.cjs' 导入 commonjs 模块;e.g.

// utils.cjsfunction sum(a, b) {  return a + b}module.exports = {  sum}// index.jsimport 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模块"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

模块 文件 模式 文章 处理 内容 后缀 插件 框架 支持 不同 妥当 三方 做法 入口 其实不然 可以通过 大部分 字段 常用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 崩坏三各服务器开服时间 网络安全工程师培训机构推荐 遵义租房软件开发 数据库表格没有导出功能如何处理 什么是中间件软件开发技术 登录中国高校服务器 公司网络技术部规章制度 各种数据库市场占比 天津华为服务器维修维保价格 wifi服务器管理员密码 AD是硬件还是软件开发 打造网络安全工作亮点 魔兽数据库技术提取 apache 服务器部署 中粮集团网络安全中心主任 一梦江湖南歌子服务器找不到 网络安全管理技能大赛 html读取数据库的表格 网络安全评估 脆弱性 软件开发的月工资是多少 如何用台式机做服务器 国家城市坐标数据库 重庆股票软件开发 嵌入式软件开发兼职网站 数据库字符内的空格处理 工信局备案游戏软件开发所需材料 怎么调微信服务器上的聊天记录 网络安全服务 评估报告 黄浦区综合软件开发包括什么 服务器管理口是做什么用
0