Как использовать PptxGen JS с RequireJS - PullRequest
0 голосов
/ 20 апреля 2020

Я пытался использовать следующий код:

require(['https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.1.1/dist/pptxgen.bundle.js'], 
  (pptxgenjs) => {
  var pptx = new pptxgenjs();
  var slide = pptx.addSlide();
  slide.addText(
      "BONJOUR - CIAO - GUTEN TAG - HELLO - HOLA - NAMASTE - OLÀ - ZDRAS-TVUY-TE - こんにちは - 你好",
      { x:0, y:1, w:'100%', h:2, align:'center', color:'0088CC', fill:'F1F1F1', fontSize:24 }
  );
  pptx.writeFile('PptxGenJS-Demo');  
})

Я думаю, что мне может понадобиться настроить файл 'require.config', но я понятия не имею, как это сделать. Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 21 апреля 2020

Когда я пытался использовать версию bundle, она не работала - у экземпляра pptx не было метода addSlide().

После проверки документов и просмотра исходного кода Мне удалось сделать это совместимым с Require JS. Вот код:

// first, require the dependency of PptxGenJs - JSZip
require(['https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.1.1/libs/jszip.min.js'], (JSZip) => {
    // JSZip supports RequireJS but PptxGenJs needs it as global, so set it explicitly
    window.JSZip = JSZip;
    // here is your code, but instead of bundle fetch regular version
    require(['https://cdn.jsdelivr.net/gh/gitbrent/pptxgenjs@3.1.1/dist/pptxgen.min.js'], () => {
        var pptx = new PptxGenJS();
        var slide = pptx.addSlide();
        slide.addText(
            "BONJOUR - CIAO - GUTEN TAG - HELLO - HOLA - NAMASTE - OLÀ - ZDRAS-TVUY-TE - こんにちは - 你好",
            { x:0, y:1, w:'100%', h:2, align:'center', color:'0088CC', fill:'F1F1F1', fontSize:24 }
        );
        pptx.writeFile('PptxGenJS-Demo');
    });
});
...