首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Nodejs中提取7zip文件

问在Nodejs中提取7zip文件
EN

Stack Overflow用户
提问于 2022-08-07 08:57:29
回答 1查看 336关注 0票数 0

我试图提取.7z文件,这是密码保护。在特定的文件夹路径中,有一些.7z文件格式。首先,我必须提取同一目录中的所有文件,而不是对这些文件执行其他操作。

代码语言:javascript
复制
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不起作用。

错误:

代码语言:javascript
复制
import { extractFull } from 'node-7z-forall';
^^^^^^
SyntaxError: Cannot use import statement outside a module

如何处理此错误。是否可以使用.js格式而不是.mjs格式?我是nodejs的新手。请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 09:20:26

它出错的原因是,".js“表示一个使用require()的commonjs文件,而".mjs”文件表示一个使用导入语法的模块。这也是错误的来源,因为您试图在非模块中使用导入。只需使用require()导入包,就可以防止错误:

代码语言:javascript
复制
const { extractFull } = require('node-7z-forall');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73266123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档