如何让我的Ember应用程序可以访问jsPDF?

问题描述:

我想在Ember应用程序中使用jsPDF导出PDF文档,但我无法弄清楚如何在应用程序中使库可用。如何让我的Ember应用程序可以访问jsPDF?

到目前为止,我使用凉亭已经安装了库:

bower.json

{ 
    "name": "myApp", 
    "dependencies": { 
    ... 
    "jspdf": "~1.2.61" 
    } 
} 

...并将其导入在ember-cli-build.js文件:

ember- cli-build.js

... 
app.import(app.bowerDirectory + '/jspdf/dist/jspdf.min.js'); 
... 

然而,当我尝试(在灰烬行动呼吁var doc = new jsPDF())使用它,我得到这个:

ReferenceError: jsPDF is not defined 

我缺少什么?

添加您的凉亭compoent这里:

module.exports = function(defaults) { 
.... 
    app.import(app.bowerDirectory + '/jspdf/dist/jspdf.min.js'); // Your file 
.... 
}; 

试图改变你的代码:

actions:{ 
     createPDF: function() { 

     var doc = new jsPDF(); // This part is your mistake 
     doc.text(20, 20, 'Hello world.'); 
     doc.save('Test.pdf'); 

    } 
} 

打电话给你的行动为您的按钮像

<button type="button" {{action "createPDF"}}>Create PDF</button> 

,然后停止你的灰烬发球然后再次启动它

Ember serve 

这将工作。当你为ember-cli-build.js添加一些东西时,你必须停止并再次启动你的服务器。

也为更多的信息,请阅读本文件:https://guides.emberjs.com/v2.7.0/addons-and-dependencies/managing-dependencies/

+0

对不起,这是一个错误(在复制我的代码的问题,而不是代码本身,它引用的库作为你的建议),但它不是真正的问题。 – MrTheWalrus

+0

你的烬宝版是什么? – Majid

+1

@MrTheWalrus只需停止你的灰烬服务,并再次启动,再次检查我的答案,它将工作 – Majid