RE: Uncaught ReferenceError: JSZipUtils is not defined

thumbnail
Javier Solana, modified 6 Years ago. Junior Member Posts: 59 Join Date: 6/26/14 Recent Posts
Hello, I am facing some problems (again) when trying to use external JS files in one of my portlets.This time I am getting the "Uncaught ReferenceError: JSZipUtils is not defined" and don't know really why. I need to import 6 JS files. This is what I have defined in the properties of my Portlet class:VisitReportWebPortlet.java
@Component(
    immediate = true,
    property = {
        "com.liferay.portlet.display-category=category.sample",
        "com.liferay.portlet.instanceable=true",
        
        "com.liferay.portlet.footer-portlet-javascript=/js/jszip.min.js",
        "com.liferay.portlet.footer-portlet-javascript=/js/jszip-utils.min.js",            
        "com.liferay.portlet.footer-portlet-javascript=/js/docxtemplater-latest.min.js",
        "com.liferay.portlet.footer-portlet-javascript=/js/FileSaver.min.js",        
        "com.liferay.portlet.footer-portlet-javascript=/js/DocxReader.js",
        "com.liferay.portlet.footer-portlet-javascript=/js/BBHI_report.js",
        
        "javax.portlet.display-name=BBHI Report Web",
        "javax.portlet.init-param.template-path=/",
        "javax.portlet.init-param.view-template=/view.jsp",
        "javax.portlet.resource-bundle=content.Language",
        "javax.portlet.security-role-ref=power-user"
    },
    service = Portlet.class
)
At some point, there is button with 
onclick="createReport()"
, reaching a point where a function from JSZipUtils is called:
JSZipUtils.getBinaryContent(this.url, function(error,content){
But then I get the error:
Uncaught ReferenceError: JSZipUtils is not defined
    at DocxReader.Load (VM31 combo:52)
    at createReport (VM31 combo:211)
    at HTMLButtonElement.onclick 

I don't really understand how the combo file is generated, but in the attached "VM31 combo.js" file is what I see on Chrome's console. 
And here it seems that the different JS files are loaded... Btw, I have tried to do the same wiht a simple PHP page and works, but I need to make it work in Liferay 7 (liferay-ce-portal-7.0-ga3).
Any help that can guide me to find a solution?THANKS A LOT

thumbnail
Javier Solana, modified 6 Years ago. Junior Member Posts: 59 Join Date: 6/26/14 Recent Posts
I think I have identified the problem... Within the jszip-utils.js file, there is a reference to a jquery function:
!function(e){"object"==typeof exports?module.exports=e():"function"==typeof  ...

And I think this is the reason that makes everything that goes inside this function to not be declared properly.
Any help here? 
Thanks!
thumbnail
Javier Solana, modified 6 Years ago. Junior Member Posts: 59 Join Date: 6/26/14 Recent Posts
<p>I found this thread where seems that JSZip does not work in Liferay:</p>

<p><a href="https://liferay.dev/forums/-/message_boards/message/57848458?_19_threadView=flat">https://liferay.dev/forums/-/message_boards/message/57848458?_19_threadView=flat</a></p>

<p>So, I&#39;ll try to generate and send the document at server side.</p>