0

在 node.js 中,我在导入两个包(node-7z 和 xml2json)时遇到问题,
我有一些没有人称之为的功能(“dummy”),

    import { extractFull } from 'node-7z'
    const xml2json = require('xml2json');

    function dummy(){
        const myStream = extractFull('./zip/myfile.7z', './unzipped/')

    }

我收到以下错误

C:\projects\nodeTests\node_modules\joi\lib\types\object\index.js:445
source-map-support.js:445
        Hoek.assert(isRegExp || pattern instanceof Any, 'pattern must be a regex or schema');
             ^
AssertionError [ERR_ASSERTION]: pattern must be a regex or schema
source-map-support.js:448
    at internals.Object.pattern (C:\projects\nodeTests\node_modules\joi\lib\types\object\index.js:445:14)
    at Object.internals.root (C:\projects\nodeTests\node_modules\joi\lib\index.js:432:34)
    at Object.<anonymous> (C:\projects\nodeTests\node_modules\joi\lib\index.js:447:28)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\projects\nodeTests\node_modules\xml2json\lib\xml2json.js:3:11)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)

*如果我在“dummy”函数中注释代码,我不会收到任何错误
*如果我评论 require “xml2json” 行,我不会收到任何错误

为什么我有这个问题,如果没有人调用这个函数,为什么“虚拟”函数中的代码对我有什么影响?
谢谢

4

1 回答 1

0

https://github.com/quentinrossetti/node-7z 根据此链接,您应该传递一个带有 extractFull 函数的对象,例如

import Seven from 'node-7z'
const myStream = Seven.extractFull('./archive.7z', './output/dir/', { 
  $progress: true
});
于 2019-06-12T06:27:34.587 回答