Uncaught ReferenceError: CQ is not defined | Community
Skip to main content
Level 2
December 6, 2017

Uncaught ReferenceError: CQ is not defined

  • December 6, 2017
  • 4 replies
  • 18422 views

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

4 replies

Adobe Employee
December 6, 2017

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

dependenciesString[]cq.widgets
maherajAuthor
Level 2
December 6, 2017

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.

Adobe Employee
December 6, 2017

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.

smacdonald2008
Level 10
December 6, 2017

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

smacdonald2008
Level 10
December 6, 2017

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

maherajAuthor
Level 2
December 7, 2017

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.


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.

Bharath_valse
Level 4
July 17, 2018

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

suhashankare
August 6, 2018

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

December 27, 2018

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;

});  

May 30, 2019

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
October 30, 2019

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