ModuleJS 与 CommonJS 混用的两种解决方案

目录

方案一

方案二

[统一使用 ModuleJS](#统一使用 ModuleJS)

统一使用CommonJS

方案一

使用构建工具,webpack、vite等系列构建工具。这些构建工具底层则会将两种不同的系统模块语言转为同一种语言,然后代码也能正常执行。

方案二

如果你可以修改文件的文件后缀,那么就不需要借助任何第三方工具,直接这样做即可。

统一使用 ModuleJS
  • 文件扩展名为 .mjs
  • require 替换为 import
  • package.json 中设置 "type": "module"
javascript 复制代码
// const qrcode = require('qrcode-terminal')
import * as qrcode from 'qrcode-terminal'

qrcode.default.generate()
统一使用CommonJS
  • import 替换为 require
  • 确保文件扩展名为 .cjs
  • package.json 中设置 "type": "commonjs"
javascript 复制代码
const qrcode = require('qrcode-terminal')

qrcode.default.generate()
相关推荐
不爱吃糖的程序媛28 分钟前
Electron 应用中的系统检测方案对比
前端·javascript·electron
pe7er44 分钟前
用高阶函数实现递归:从匿名函数到通用递归生成器
前端·javascript
IT古董1 小时前
全面理解 Corepack:Node.js 的包管理新时代
前端·node.js·corepack
Jonathan Star1 小时前
NestJS 是基于 Node.js 的渐进式后端框架,核心特点包括 **依赖注入、模块化架构、装饰器驱动、TypeScript 优先、与主流工具集成** 等
开发语言·javascript·node.js
学习3人组1 小时前
清晰地说明 NVM、NPM 和 NRM 在 Node.js 开发过程中的作用
前端·npm·node.js
矢心1 小时前
setTimeout 和 setInterval:看似简单,但你不知道的使用误区
前端·javascript·面试
一枚前端小能手1 小时前
🧭 使用历史记录 API - SPA导航与状态管理的完整指南
前端·javascript
用户47949283569152 小时前
从字符串满天飞到优雅枚举:JavaScript 常量管理的几种姿势
前端·javascript
qq_415216252 小时前
Vue3+vant4+Webpack+yarn项目创建+vant4使用注意明细
前端·webpack·node.js
用户18729422508392 小时前
告别函数的“两面派”人生:深度剖析箭头函数如何一劳永逸地解决 ‘this’ 的二义性
javascript