Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Uncaught ReferenceError: CQ is not defined

maheraj
Level 2
Level 2

Hi there,

I am upgraded from AEM 6.0 to  AEM 6.2. There was some changes required and I have done those. Everything was fine. Recently I have upgraded CFP8. After that I am getting Uncaught ReferenceError: CQ is not defined in browser console in every page. I am getting this error in both author and publish instance. Here is the QA publish server of my application: Cheap Rental Cars and Car Rental Deals Worldwide - Fox Rent A Car.

Can you please help me to resolve this issue?

Here is my current instance version:

Adobe Experience Manager, Version 6.2.0.SP1-CFP8

Here is the browser console error:

Uncaught ReferenceError: CQ is not defined

     at main.js:97

5 Replies
abhishekagg19
Employee
Employee

Make sure cq.widgets is added as dependency in your client lib.

dependenciesString[]cq.widgets
maheraj
Level 2
Level 2

This is the path of my client libs folder this my my client lib folder: /etc/designs/dotcom/clientlibs_base . And I have added the dependencies. Still issue is there.

abhishekagg19
Employee
Employee

Error is reported from main.js (loaded on top of the page)

And clientlibs_base.js is loaded at the end of the page. You might need to look into ordering of the client libraries in which they are included in the page.

maheraj
Level 2
Level 2

I have compared 6.0 vs 6.2. Order is same. It was working in 6.2 before installing CFP8.

smacdonald2008
Level 10
Level 10

I ahve checked with internal ppl to see if this is a known issue.

smacdonald2008
Level 10
Level 10

By the way - nice site. If you ever want to contribute some community code that help the AEM DEV community - let us know.

maheraj
Level 2
Level 2

I need to resolve this issue. This issue is blocking my next release. If you can help me on this it will be great. Thank you.

Yes, I shall be glad to contribute some community code. Thank for the complement.

smacdonald2008
Level 10
Level 10

I have never seen this issue nor do we have any webinars or task-based doc that i can point you to in order to resolve this.

However - there is a related thread here: cq5 - Uncaught ReferenceError: CQ is not defined - Stack Overflow

If this does not resolve it and you do not hear back from a community member - i strongly recommend opening a ticket as there may be a bug somewhere.

maheraj
Level 2
Level 2

I have tried this solution already. Thank you for your suggestion. I am going to file a ticket in Day Care as I have very limited time to resolve this. Thanks again.

venc49793627
Level 1
Level 1

Hi maheraj

i ran into same issue after installing CFP9 package on 6.2SP1 instance both author and  publish instances. have you found solution for issue. i am struck with issue.

Thanks,

Venkat

maheraj
Level 2
Level 2

Hi venc49793627,

No I have not found the solution. I have created one day care ticket. But Adobe was not able to find the reason as well. Any way I shall let you know if I can figure out this. Please let me know if you find anything as well. Thanks

venc49793627
Level 1
Level 1

Hi maheraj

issue seems to be with new image component being added after CFP8 package. new clientlibs folder under /libs/wcm/foundation/components/images. to fix our issue, i commented image.js in js.txt file. now CQ error is gone. but i do noticed form submission not working on IOS 11 devices. trying to see what causing issue with IOS11.

let me know if this helps.

keithb41576569
Level 1
Level 1

We have the same issue in our environment since installing CFP9.  I just created a daycare ticket also.

Bharath_valse
Level 4
Level 4

To fix this, you can add cq.shared dependency on "/etc/clientlibs/foundation/main" and it will work fine

suhashankare
Level 1
Level 1

This Solution worked on, 6.4 instance, however this issues was with dispatcher which is resolve now, but at the first shot adding dependencies 'CQ.Shared ' worked for me on 6.4 Instance

rushikesavaredd
Level 1
Level 1

Can you please give your inputs on this issue. this is issue got when using below code as page component.I am getting below " "use" is not defined" error during the AEM upgrade from 6.2 to 6.4.

--> <div data-sly-use.data="company-linkpage.js" id="company-links"> This is the div using the  .js file 

Below is the Complete Error:

--------------------------------------

ReferenceError: "use" is not defined       

Cannot serve request to /content/project/en/content/Tools_and_Resources.html in /apps/project/company-linkpage.js

Exception: <eval>:3 ReferenceError: "use" is not defined  at jdk.nashorn.internal.runtime.ECMAErrors.error(ECMAErrors.java:57)  at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:319)  at jdk.nashorn.internal.runtime.ECMAErrors.referenceError(ECMAErrors.java:291)  at jdk.nashorn.internal.objects.Global.__noSuchProperty__(Global.java:1441)  at jdk.nashorn.internal.scripts.Script$\^eval\_.:program(<eval>:3)  at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:637)  at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:494)  at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:393)  at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:421)  at jdk.nashorn.api.scripting.NashornScriptEngine.access$300(NashornScriptEngine.java:73)  at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:514)  at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:386)    at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:184)    at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:4 91)  at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552)  at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponen

----------------------------------------------------------------------------------------- --------

Below is the code for company-linkpage.js :

"use strict";

use(['/apps/project/components/structure/basepage/userProfile.js'], function (userProfile) {

    var ret = {

        image: null,

        favoriteUrl: currentPage.path + '.html',

        userCanEdit: false,

        userCanEditTeam: false,

        isAnonymous: userProfile.isAnonymous()

    },

        image = currentNode.hasNode('image') ? currentNode.getNode('image') : null;

    ret.isFavorite = userProfile.isFavorite(ret.favoriteUrl);

    if (image) {

        ret.image = image.hasProperty('fileReference') ? image.getProperty('fileReference') : null;

    }

    if (!ret.image) {

        try {

            var res = image.hasNode("file") ? image.getNode("file") : null;

            ret.image = res.getPath();

            ret.image = "background-image: url("+ ret.image + ");";

        } catch(err) {

            ret.image = "background-image: url(http://placehold.it/150x150?text=Placeholder);";

        }

    } else {

        ret.image = "background-image: url(" + ret.image + ");";

    }

    var roles = userProfile.getRoles().iterator();

    while (roles.hasNext()) {

        var role = roles.next();

        if (role.label.equalsIgnoreCase('Non-Sales Leaders')) {

            ret.userCanEdit = 'true';

        } else if (role.label.equalsIgnoreCase('Non-Sales Editor')) {

            ret.userCanEdit = 'true';

        } else if (role.label.equalsIgnoreCase('Team Leader')) {

            ret.userCanEditTeam = 'true';

        }

    }

    ret.isAnonymous = userProfile.isAnonymous();

    return ret;

});  

gauravm29742313
Level 1
Level 1

Hi Rushikesavareddy,

Did you get any solution to the mentioned issue "use is not defined" ?

Can this be corrected by adding any dependency as we resolved the "CQ is not defined" error by adding cq:widget as dependency?

bernardb36
Level 1
Level 1

Hi suhashankare,

What was the issue you had with the dispatcher?

Thanks in advance!

gauravm29742313
Level 1
Level 1

Hi,

I got the solution of the issue, just change the use js name and its reference, like in my case js name was caseStudy.js so I changed it to caseStudyJS.js and also its reference and it worked.

brianw48577253
Level 1
Level 1

gauravm29742313 ' s solution worked for me, but I almost skipped over it because I didn't understand.

Make sure your js file does not match the same of the component folder it sits in.

for example, I changed:
.../blank-page/blank-page.js

to

.../blank-page/blankPage.js