文章目录
- 一、require无法使用
- 二、The requested module 'xxx' does not provide an export named 'default'
- 三、__filename无法使用
- 四、path.resolve() arguments must be a string
一、require无法使用
在使用rullup打包的过程中,我们需要在最外层的package.json文件中指定一下
加上这句话是规定我们打包的是一个模块,但是由于require并不是一个模块
所以无法使用,可以使用import代替或者将其转化为模块
// 讲require转换为模块
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
fs模块
import * as fs from 'fs';
二、The requested module ‘xxx’ does not provide an export named ‘default’
这个是因为该模块没有默认暴露,跟视频学的话可能因为版本的问题改了吧
import execa from 'execa'
//改为
import { execa } from 'execa'
三、__filename无法使用
这个还是因为模块的原因
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
四、path.resolve() arguments must be a string
这个是因为你path.resolve传递的必须是一个字符串,那是因为path.resolve接受的参数中有一个是undefined无法读取