Getting Data In

require(['splunkjs/mvc'], function() { ... } gives me "require is not defined" Javascript error (SE 9.1.1)

joemcmahon
Explorer

In a modified  search_mrsparkle/templates/pages/base.html, we have a <script> tag inserted just before the </body> tag, as follows:

<script src="${make_url('/static/js/abcxyz.js')}"></script></body>

with abcxyz.js placed in the search_mrsparkle/exposed/js directory.

The abcxyz.js file has the following code:  

require(['splunkjs/mvc'], function(mvc) { ... }

which performs some magical stuff on the web page.  But when the page loads, the debugging console reports "require is not defined".  This used to work under SE 9.0.0.1 (and earlier) but now fails under SE 9.1.1.

Yes, we realize we are modifying Splunk-delivered code, but we have requirements that required us taking these drastic actions.

Anyone have any ideas on how to remedy this issue?

---------------------------------------------------------------------------
@mhoustonludlam_ @C_Mooney

0 Karma

joemcmahon
Explorer

So, I found a "fix" or "workaround" that I'm not too happy about, but it seems to solve the issue.

Surrounding the "require" with a 5 second "setTimeout" call, seems to work fine, as follows:

setTimeout(function()  {
    require(['splunkjs/mvc'], function(mvc) { ... }
}, 5000);

If anyone can shed any light on this "issue", please advise.

0 Karma

_JP
Contributor

Without knowing more about your javascript, is there something happening where you are doing a require of a module that should be included with an import?  Or, you might need to load abcxyz.js in a different way because of the contents.

This answer over on StackOverflow addresses the more generic javascript quirkiness you could be running into.

0 Karma
Get Updates on the Splunk Community!

Splunk Mobile: Your Brand-New Home Screen

Meet Your New Mobile Hub  Hello Splunk Community!  Staying connected to your data—no matter where you are—is ...

Introducing Value Insights (Beta): Understand the Business Impact your organization ...

Real progress on your strategic priorities starts with knowing the business outcomes your teams are delivering ...

Enterprise Security (ES) Essentials 8.3 is Now GA — Smarter Detections, Faster ...

As of today, Enterprise Security (ES) Essentials 8.3 is now generally available, helping SOC teams simplify ...