This is how i defined it
index.html
<script src="./jslib/require/require_2.3.3.js" data-main="js/app/config/config"></script>
config.js
require.config({
baseUrl : "/test/",
waitSeconds : 160,
// Define
paths : {
"text" : "jslib/require/text",
"jquery" : "jslib/jquery/jquery-min-2.2.4",
"underscore" : "jslib/backbone/underscore-1.8.3",
"backbone" : "jslib/backbone/backbone-1.3.3",
"marionette" : "jslib/backbone/backbone.marionette-2.4.7",
"bootstrap" : "jslib/bootstrap/bootstrap-3.3.7",
"bootstrap-select" : "jslib/bootstrap/bootstrap-select",
"validation" : "jslib/backbone/backbone-validation-min",
"stickit" : "jslib/backbone/backbone.stickit-0.9.2",
"jsnlog" : "jslib/jsnlog/jsnlog-2.7.11",
"backbone.paginator" : "jslib/backbone/backbone.paginator",
"backgrid-filter" : "jslib/backgrid/backgrid-filter",
"backgrid" : "jslib/backgrid/backgrid",
"backgrid-paginator" : "jslib/backgrid/backgrid-paginator",
"backgrid-resizecolumns" : "jslib/backgrid/backgrid-sizeable-columns",
"backgrid-ordercolumns" : "jslib/backgrid/backgrid-orderable-columns",
"backgrid-group-columns" : "jslib/backgrid/backgrid-grouped-columns",
"jquery-ui" : "jslib/jquery/jquery-ui.min",
"bootstrap-tagsinput" : "jslib/bootstrap/bootstrap-tagsinput",
"backgrid-responsiveGrid" : "jslib/backgrid/backgrid-responsiveGrid",
"jquery-layout" : "jslib/jquery/jquery-layout",
"bootstrap-datepicker" : "jslib/bootstrap/bootstrap-datepicker",
"bootstrap-notify" : "jslib/bootstrap/bootstrap-notify",
"multiselect" : "jslib/bootstrap/multiselect",
"typeahead" : "jslib/typeahead/typeahead.bundle",
"cropper" : "jslib/cropper/cropper",
"chosen" : "jslib/chosen/chosen.jquery",
'jspdf' : 'jslib/pdf/jspdf.debug',
'jspdf-autotable' : 'jslib/pdf/jspdf.plugin.autotable'
},
// Sets the configuration for your third party scripts that are not AMD
// compatible
shim : {
// Twitter Bootstrap jQuery plugins
"bootstrap" : ["jquery", "jquery-ui"],
"underscore" : ["jquery"],
// Backbone and Marionette
"backbone" : {
"deps" : ["jquery", "underscore"],
"exports" : "Backbone"
},
"marionette" : {
"deps" : ["jquery", "underscore", "backbone"],
"exports" : "Marionette"
},
"validation" : {
"deps" : ["jquery", "backbone"],
"exports" : "Validation"
},
"stickit" : ["jquery", "underscore", "backbone"],
"backgrid" : ["jquery", "underscore", "backbone"],
"backgrid-paginator" : ["backgrid"],
"backgrid-resizecolumns" : ["backgrid"],
"backgrid-ordercolumns" : ["backgrid"],
"backgrid-group-columns" : ["backgrid"],
"backgrid-responsiveGrid" : ["backgrid"],
"jquery-ui" : ["jquery"],
"jquery-layout" : ["jquery", "jquery-ui"],
"bootstrap-tagsinput" : ["jquery", "bootstrap"],
"bootstrap-notify" : ["jquery", "bootstrap"],
"multiselect" : ["jquery", "bootstrap"],
"typeahead" : {
"deps" : ["jquery"]
},
"chosen" : {
"deps" : ["jquery"]
}
},
// Invoke the Init.js
deps : ["..."]
});
ReportUtils.js
define(
["jsPDF", "jspdf-autotable"],
function(jsPDF)
{
var ReportUtils = {
generatePDF : function(options)
{
var doc = new jsPDF('p', 'pt', 'a4');
doc.autoTable(columns, data, {
startY : 75,
addPageContent : headerFooter,
margin : {
top : 75,
bottom : 30,
horizontal : 7
},
bodyStyles : {
valign : 'top'
},
styles : {
overflow : 'linebreak',
columnWidth : 'wrap'
},
columnStyles : columnStyles
});
// Total page number plugin only available in jspdf v1.0+
if (typeof doc.putTotalPages === 'function')
{
doc.putTotalPages(totalPagesExp);
}
doc.save("test.pdf");
this.trigger("close");
} };
return ReportUtils;
});
const doc = new jsPDF();
doc.text(7, 15, "Daftar SP2D dengan Status Sudah Cair");
doc.autoTable(this.getColumns(), datacair, {
startY: 20,
margin: { horizontal: 7 },
styles: { columnWidth: 'wrap' },
columnStyles: {
text: { columnWidth: 'auto' },
nil: { halign: 'right' },
tgl: { halign: 'right' }
},
headerStyles: { halign: 'center' },
theme: 'grid'
});
doc.text("Daftar SP2D dengan Status Proses Pencairan", 7, doc.autoTable.previous.finalY + 10);