提问者:小点点

TypeError:DotEnv.Load不是angular 8中的函数


我的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的授权。


共1个答案

匿名用户

自dotenv v7.0.0

dotenv.load();

将被删除。

使用

dotenv.config()

取而代之的是。

引用:文档,变更日志