我无法添加解压缩

时间:2018-10-12 06:59:20

标签: javascript typescript yarnpkg

我是日语初学者Web开发人员。

我的英语不好。

对不起。

我想使用这个模块。

https://www.npmjs.com/package/unzip

所以我做了yarn add unzipyarn add fs以及yarn add module v8yarn add request@2.79.0

我做到了

var fs = require('fs');
var unzip = require('unzip');

但是由于“ require('unzip')”,我得到了错误。

  

未捕获的错误:无此类模块。 (可能尚未加载)

在构建时出现此错误。

  

警告编译时带有3条警告16:03:20

     

./ node_modules / natives / index.js中的警告

     

关键依赖项:依赖项的请求是一个表达式

     

./ node_modules / lazy-debug-legacy / src / functions.js中的警告

     

关键依赖项:依赖项的请求是一个表达式

     

警告。/node_modules/lazy-debug-legacy/src/functions.js

     

关键依赖项:依赖项的请求是一个表达式

有人告诉我解决方法吗? 我不能使用解压缩模块。

我也使用了这个模块。

https://www.npmjs.com/package/unzipper

但如果我这样做

var unzipper = require('unzipper');

我遇到了其他错误。

  

polyfills.js?a0a3:32未捕获的TypeError:无法读取属性“ match”   的未定义

我的完整代码。

//converter.ts
var fs = require('fs');
var unzipper = require('unzipper');

export default function converter(file) {

    console.log(file)

    //     fs.createReadStream(file)
    //         .pipe(unzipper.Extract({ path: './tmp/' }));

}

//convert.vue
<template>

  <div class="convert">

  </div>

</template>

<script lang="ts">
import { Component, Prop, Vue } from "vue-property-decorator";

import converter from "./converter"

@Component({
  components: {}
})
export default class Convert extends Vue {

    mounted(){
        converter("./resources/text.zip")
    }

}
</script>

<style lang="scss">
</style>

3 个答案:

答案 0 :(得分:0)

该库不是要在浏览器环境中使用的-它取决于Node.js特定的模块,这些模块在浏览器中不可用。

答案 1 :(得分:0)

您不能在浏览器环境中使用'fs'或'unzip'。它们应在Node.js运行时中使用。在网页中执行的Javascript无法访问基础文件系统。 (有Filesystem API,但它只是一个虚拟文件系统,只有chrome支持它)

如果要在跨浏览器环境中使用模拟文件系统,则可以看看https://www.npmjs.com/package/fs-web

答案 2 :(得分:0)

您必须安装带有unzip--save标志的--save-dev

yarn add --save unzip,因此您的申请人可以通过 package.json

来解决它

编辑

fs之所以有效,是因为它是Node.J的内置。