requirejs,datatables和pdfmake - 在虚拟文件系统中找不到未捕获的文件'Roboto-Regular.ttf'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了requirejs,datatables和pdfmake - 在虚拟文件系统中找不到未捕获的文件'Roboto-Regular.ttf'相关的知识,希望对你有一定的参考价值。
这是我的代码。
requirejs.config({
"paths":{
'pdfmake': '//cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min',
},
"shim": {
'pdfmake': {
deps: ["//cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"]
},
}
});
在数据表中 - https://datatables.net/extensions/buttons/examples/html5/pdfMessage.html
requirejs(['pdfmake'],function(){
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'pdfhtml5',
messageTop: 'PDF created by PDFMake with Buttons for DataTables.'
}
]
} );
});
在检查中我看到文件已加载,但是当我创建pdf - get
Uncaught File 'Roboto-Regular.ttf' not found in virtual file system
更新1我尝试创建实例但有一些错误... https://jsfiddle.net/9gkat5dc/13/
无法加载'https://cdn.datatables.net/buttons/1.4.2/swf/flashExport.swf'作为插件,因为插件加载到的框架是沙箱。
答案
"shim": {
"vfs_fonts": ["pdfmake"]
},
应该解决这个问题(在我的安装中确实如此)。 vfs_fonts需要加载AFTER pdfmake,而不是之前。据我了解你的配置,你的pdfmake依赖于vfs_fonts。
编辑:我看到你将URL添加到vfs_fonts作为dep。我在路径数组中完成了这个。
以上是关于requirejs,datatables和pdfmake - 在虚拟文件系统中找不到未捕获的文件'Roboto-Regular.ttf'的主要内容,如果未能解决你的问题,请参考以下文章