Почему мои переменные не работают в браузере и как я могу сделать их глобальными? - PullRequest
0 голосов
/ 05 июля 2019

Итак, я хочу, чтобы переменные из app.js были доступны для использования в браузере при использовании пакета узла.У меня есть два файла, index.html и app.js.Затем Browserify запускается с использованием этого скрипта browserify app.js -o bundle.js.Всякий раз, когда я пытаюсь запустить функцию или получить доступ к переменной с помощью Dev Tools, она всегда возвращается с ошибкой ссылки.

Я пытался посмотреть в Интернете глобальные переменные для Browserify и другие сценарии, запускаемые для Browserify, но все же,ни одна из этих работ.Я также попытался добавить исходный файл app.js в index.html, и все переменные доступны перед использованием Browserify.

//This is the require section
var SpotifyWebApi = require('spotify-web-api-node');
var spotifyApi = new SpotifyWebApi({
  redirectUri: redirectUri,
  clientId: clientId,
  credentials
});

//This for some reason works
var authorizeURL = spotifyApi.createAuthorizeURL(scopes, state);
console.log(authorizeURL);
document.getElementById("url").href = authorizeURL;

//This function will not run with a TypeError
spotifyApi.authorizationCodeGrant("omitted").then(
  function (data) {
    console.log('The token expires in ' + data.body['expires_in']);
    console.log('The access token is ' + data.body['access_token']);
    console.log('The refresh token is ' + data.body['refresh_token']);

    // Set the access token on the API object to use it in later calls
    spotifyApi.setAccessToken(data.body['access_token']);
    spotifyApi.setRefreshToken(data.body['refresh_token']);
  },
  function (err) {
    console.log('Something went wrong!', err);
  }
);

//This doesn't work below
const urlParams = new URLSearchParams(window.location.search);
const myParam = urlParams.get('code');
console.log(myParam);

Переменная spotifyApi вообще не отображается, myParam будетlog, но затем я не могу получить доступ к переменной, и я использовал скрипт Browserify сверху.Также, пожалуйста, не помечайте это как дубликат, я уже пробовал разные скрипты Browserify, пометил их как global.etc и использовал Webpack.

...