I'm trying to access the Strava API, but terminal is showing
ReferenceError: require is not defined
at file:///Users/Me/directory/code.js:1:10
at ModuleJob.run (internal/modules/esm/module_job.js:152:23)
at async Loader.import (internal/modules/esm/loader.js:166:24)
at async Object.loadESM (internal/process/esm_loader.js:68:5)
when I try to run the code from their website in terminal.
I've researched it, and it says that it's because I'm running it on a browser, but I don't think I am. I commented out all of the code so the only line was
var StravaApiV3 = require('strava_api_v3');
and the error still keeps showing up. I'm just running it with "cd directory" and then node code.js (the names of the directory and code have been changed for clarity), so I have no clue why it isn't working. Is the one line of code somehow going to a browser? I'm running it with MacOS Big Sur, if that changes anything.
Here's the rest of the code that Strava has on their website, if you need it:
var StravaApiV3 = require('strava_api_v3');
var defaultClient = StravaApiV3.ApiClient.instance;
// Configure OAuth2 access token for authorization: strava_oauth
var strava_oauth = defaultClient.authentications['strava_oauth'];
strava_oauth.accessToken = "YOUR ACCESS TOKEN"
var api = new StravaApiV3.ActivitiesApi()
var id = 789; // {Long} The identifier of the activity.
var opts = {
'includeAllEfforts': true // {Boolean} To include all segments efforts.
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.getActivityById(id, opts, callback);
TL;DR this code is giving me the "require is not defined" error even though I'm running it with node.js
EDITS:
-When I run a dummy require (it's just var fs = require('fs');) in the same directory, it still gives the same error
-My package.json for the directory is
{
"name": "stravatest",
"version": "1.0.0",
"description": "description",
"main": "stravatest.js",
"type":"module",
"scripts": {
"test": "test"
},
"repository": {
"type": "git",
"url": "url"
},
"keywords": [
"keyword"
],
"author": "author",
"license": "ISC"
}
package.jsonand what is the extension of the file you're running?test.jsin that file put one single line of codevar fs = require('fs');. Run that file with nodenode test.js. If it errors, post that info along with your nodejs version. If it doesn't error, something is wrong with your other file.strava_api_v3, so can't test if there's a bug in that code (I assume it's a private module?). There are public modulesstravaandstrava-v3that may work.