我试图提取.7z文件,这是密码保护。在特定的文件夹路径中,有一些.7z文件格式。首先,我必须提取同一目录中的所有文件,而不是对这些文件执行其他操作。
const path = require('path')
const fs = require('fs')
import { extractFull } from 'node-7z-forall';
const dirpath = path.join('C:/MyFolder/DATA')
fs.readdir(dirpath, function(err, files) {
const txtFiles = files.filter(el => path.extname(el) === '.7z')
console.log(txtFiles);
extractFull(txtFiles, 'C:/MyFolder/DATA', { p: 'admin123' } /* 7z options/switches */)
.progress(function (files) {
console.log('Some files are extracted: %s', files);
});
})我使用的是node-7z-forall模块,但只有当我将文件格式更改为.js为.mjs时,它才能工作。在.mjs文件格式文件中,以.js格式顺利提取.but不起作用。
错误:
import { extractFull } from 'node-7z-forall';
^^^^^^
SyntaxError: Cannot use import statement outside a module如何处理此错误。是否可以使用.js格式而不是.mjs格式?我是nodejs的新手。请帮帮我!
发布于 2022-08-07 09:20:26
它出错的原因是,".js“表示一个使用require()的commonjs文件,而".mjs”文件表示一个使用导入语法的模块。这也是错误的来源,因为您试图在非模块中使用导入。只需使用require()导入包,就可以防止错误:
const { extractFull } = require('node-7z-forall');https://stackoverflow.com/questions/73266123
复制相似问题