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
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Tuning Edge Processor in Hybrid Mode: What Limits Each Data Path

When you run Edge Processor in hybrid mode, alongside a Splunk heavy forwarder on the same host, two questions ...

Best Practices: Splunk auto adjust pipeline queue

When you enable autoAdjustQueue in Splunk, maxSize should be understood as the queue size Splunk starts with ...

Request for Professional Development: Attending .conf26

Winning Over the Boss: Your Pass to .conf26 conf26 is going to be here before you know it. If don't already ...