Hi everyone,
I am using version 8.0.0 of Splunk Enterprise and I am running into a problem due to version conflict of a JavaScript library.
In one of my dashboards, I am using JavaScript for some customization where I require moment.js for a Date-picker. The Date-picker library only works with version 2.24.0 however, Splunk also uses moment.js for its own working but an older version 2.8.3. When I try to include moment.js (version 2.24.0) there is a conflict with Splunk's version and hence I cannot use that library in my dashboard.
Please suggest me any way to resolve this conflict between Splunk's version of moment.js and my own version as the Date-picker library is only compatible with version 2.24.0 of moment.js
Shall be hugely grateful for any positive suggestions.
Regards,
Umair
Hello @umairahmad3985
Here we can go with same solution but with some variation.
https://community.splunk.com/t5/Dashboards-Visualizations/Moment-js-won-t-work-in-XML/td-p/434524
require([
'underscore',
'jquery',
'splunkjs/mvc',
'splunkjs/mvc/simplexml/ready!',
'<<PATH OF LATEST MOMENT JS>>'
], function(_, $, mvc) {
var moment = require('moment');
Please try and let me know if you face any difficulties:)
Thanks
Kamlesh Vaghela
Hi @kamlesh_vaghela,
Thanks a lot for taking out your time to answer this. I just have a couple of questions.
1. Will my path in this case be?
/static/app/mysplunkapp/moment.js
Right now I'm using the library from a CDN server and giving the path below. Is that also okay?
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-withlocales.min.js
2. Do I need the line below as I have already loaded the library?
var moment = require('moment');
Thanks again for your help!
I'm not able to access below URL
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-withlocales.min.js
But I tried this URL and working fine.
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.0/moment.min.js
Can you please try this JS code in your JS?
require.config({
paths: {
"moment": "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.0/moment.min"
}
});
var deps = [
"moment",
"splunkjs/ready!"
];
require(deps, function(moment) {
console.log("Test moment",moment);
});
Thanks
Kamlesh Vaghela