一个工程化项目中怎么使用import_and_require

发布时间 2023-09-25 10:08:00作者: 这么拼都不秃

一个工程化项目中怎么使用 import_and_require

这两个及是 module 和 commonjs 的区别
可以参考这个

前言

在一起开发脚本过程中自己需要用到 node 中fs chalk 两个模块,

起因

/* 本俩想着就是使用commonjs进行完成如下 */
const fs = require("fs");
const chalk = require("chalk");
/* 但是但是报错了~ 主要原因是chalk无法使用require导入 下面会讲这个根因哈 */

解决方案

于是乎,我就写了这篇文章去解决

❓:突然脑子不知道怎么了,想着为啥一个 js 文件不能同时使用 import 和 require 共同导入呢
?:可能因为这是两个不同的规范吧,无法共存吧。。。

❓: 可是今天突然看到一个妹纸大佬写的文章里的 vite 配置文件
img
什么情况!!! 我的天 ?️‍?️ 插个眼 问作者了,等回复
?:我去了我的 vite 配置项中,试了一下 将 path 的 import 导入改了 require 啥也没干 外加安装了一个

  npm i --save-dev @types/node

解决 ts 报错,发现项目依旧可以运行!!
img

再次尝试

根因就是每次想chalk 这东西的时候,都要迫使我把整个项目改一下,no no no ,最后想着这肯定有支持 commonjs 的版本吧,于是我就查了一下果不其然,我每次安装的都是 5.*版本 降到 4.*版本 就可以了 使用 require 语法正常导入!

小 tip

package.json中如果没有没有设置 type,那如果想使用 module 或 commonjs 两种不同的导入方式,可以使用对应的文件名后缀mjs cjs