我的server.js中出现了如下错误:
/users/nhannguyen/desktop/spotify_project/server.js:8 dotenv.load(); ^
TypeError:DotenV.Load不是对象上的函数。 (/users/nhannguyen/desktop/spotify_project/server.js:8:12)位于object.module._extensions.。js(internal/modules/cjs/loader.js:1147:30)处的module._compile(internal/modules/cjs/loader.js:1167:10)位于function.module._load(internal/modules/cjs/loader.js:996:32)处的module.load(
下面是我的server.js中的代码:
const express = require("express");
const cors = require('cors');
const dotenv = require('dotenv');
const querystring = require('querystring');
const request = require('request');
if (process.env.NODE_ENV !== 'production') {
dotenv.load();
}
const app = express();
app.use(cors());
// Setting
app.use(express.static(__dirname + "/spotify/dist/spotify"));
app.use(express.json());
app.use(
express.urlencoded({
extended: true,
})
);
app.get('/login', (req, res) => {
res.redirect('https://accounts.spotify.com/authorize?' +
querystring.stringify({
response_type: 'code',
client_id: process.env.SPOTIFY_CLIENT_ID,
scope: 'user-read-private user-read-email user-top-read playlist-modify-public playlist-modify-private',
redirect_uri: process.env.REDIRECT_URI
}));
});
app.get('/callback', (req, res) => {
const code = req.query.code || null;
const authOptions = {
url: 'https://accounts.spotify.com/api/token',
form: {
code: code,
redirect_uri: process.env.REDIRECT_URI,
grant_type: 'authorization_code'
},
headers: {
'Authorization': 'Basic ' + (new Buffer.from(
process.env.SPOTIFY_CLIENT_ID + ':' + process.env.SPOTIFY_CLIENT_SECRET
).toString('base64'))
},
json: true
};
request.post(authOptions, (error, response, body) => {
const access_token = body.access_token;
const uri = process.env.FRONTEND_URI;
res.redirect(uri + '?access_token=' + access_token);
});
});
require("./server/config/routes.js")(app);
// Localhost
app.listen(8000);
我正在尝试获得spotify API的授权。
自dotenv v7.0.0
dotenv.load();
将被删除。
使用
dotenv.config()
取而代之的是。
引用:文档,变更日志