例外:猛犸象没有定义

时间:2017-06-21 12:05:27

标签: javascript meteor npm node-modules mammoth

我正在尝试将庞大的npm库与流星集成。

使用导入命令时, 来自"猛犸象" 的 导入{mammoth}

  

未捕获的TypeError:无法读取属性' bind'未定义的

使用命令时 声明var mammoth:any; 正在

  

异常:猛犸象未定义

我正在使用的代码是



sudo chown 1000 efs/






this.readFileInputEventAsArrayBuffer(event, function(arrayBuffer) {
      mammoth
        .convertToHtml({ arrayBuffer: arrayBuffer })
        .then(function(result: any) {
          var html = result.value; // The generated HTML
          var messages = result.messages; // Any messages, such as warnings during conversion
          // console.log('html: ' + html);
          document.getElementById("output").innerHTML = html;
          var elements = document.getElementById("output").children;
          console.log(elements);
          console.log(JSON.stringify(elements));
          console.log(elements.length);
          for (var i = 0; i < elements.length; i++) {
            console.log(i + " --- ");
            console.log(elements[i]);
            var data = elements[i].innerHTML;
            // elements[i].setAttribute("draggable","true");
          }
        })
        .done();
      console.log(
        "event in fileUpload-readFileInputEventAsArrayBuffer" + event
      );
    });
&#13;
&#13;
&#13;

使用导入时

声明var mammoth:any;

得到错误

 readFileInputEventAsArrayBuffer(event, callback) {
    var file = event.target.files[0];

    var reader = new FileReader();

    reader.onload = function(loadEvent: any) {
      var arrayBuffer = loadEvent.target.result;
      console.log("arrayBuffer: ");
      console.log(arrayBuffer);
      callback(arrayBuffer);
    };

    reader.readAsArrayBuffer(file);
  }

使用导入时

从&#34; mammoth&#34 ;;

导入{mammoth}

得到错误

ReferenceError: mammoth is not defined
at app.component.ts:75
at FileReader.reader.onload (app.component.ts:109)
at ZoneDelegate.invoke (modules.js:22723)
at Object.onInvoke (modules.js:57096)
at ZoneDelegate.invoke (modules.js:22722)
at Zone.runGuarded (modules.js:22607)
at FileReader.<anonymous> (modules.js:22585)

Uncaught ReferenceError: mammoth is not defined
at app.component.ts:75
at FileReader.reader.onload (app.component.ts:109)
at ZoneDelegate.invoke (modules.js:22723)
at Object.onInvoke (modules.js:57096)
at ZoneDelegate.invoke (modules.js:22722)
at Zone.runGuarded (modules.js:22607)
at FileReader.<anonymous> (modules.js:22585)

请帮忙。

  

P.S。:当作为角项目运行时,它工作正常。面对   这个问题,在角度流星项目中进行。

3 个答案:

答案 0 :(得分:0)

如果你查看庞大的npm包的源代码,你会发现没有'猛犸象'也没有默认导出。但是,它会导出每个方法,因此您可以这样做:

import {convertToHtml} from "mammoth";

convertToHtml({path: "path/to/document.docx"})
    .then(function(result){
        var html = result.value; // The generated HTML 
        var messages = result.messages; // Any messages, such as warnings during conversion 
    })
    .done();

应该这样做:)

答案 1 :(得分:0)

尝试看看是否可行:import 'mammoth/mammoth.browser';(浏览器版本)

或者,如果您可能想在前端执行此操作,则可以使用以下脚本,然后将以下脚本包含到html页面中,并在运行时执行。 (将文档转换为html并进行渲染)

要包含的脚本:

希望这会有所帮助。

答案 2 :(得分:0)

尝试这样导入: import {convertToHtml} from 'mammoth/mammoth.browser';

内部componet.ts文件:

import {convertToHtml} from "mammoth/mammoth.browser";
                   

convertToHtml({ arrayBuffer: arrayBuffer })
.then(function(result){
    var html = result.value; // The generated HTML
    var messages = result.messages; // Any messages, such as warnings during conversion
})
.done();

以上代码对我来说适用于角度9。