因此,我希望使用node包时,可以将来自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将记录日志,但是后来我无法访问该变量,因此我从上面使用了Browserify脚本。
另外,请不要将其标记为重复,我已经尝试了不同的Browserify脚本,将其标记为global.etc
并使用Webpack。