我的服务器收到一条错误消息:TypeError [ERR_INVALID_ARG_TYPE]:“key”参数必须是string类型或ArrayBuffer、Buffer、TypedArray、DataView、KeyObject或CryptoKey的示例。
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
const express = require('express');
const bodyParser = require('body-parser');
const bcrypt = require('bcrypt-nodejs');
const cors = require('cors');
const knex = require('knex');
const register = require('./controllers/register');
const signin = require('./controllers/signin');
const profile = require('./controllers/profile');
const image = require('./controllers/image');
const db = knex({
client: 'pg',
connection: {
host : '127.0.0.1',
user : 'postgres',
password : '',
database : 'smart-brain'
}
});
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.get('/', (req, res)=> {res.send(database.users) })
app.post('/signin', signin.handleSignin(db,bcrypt))
app.post('/register', (req, res) => {register.handleRegister(req, res, db, bcrypt) })
app.get('/profile/:id', (req, res)=> {profile.handleProfileGet(req, res, db)})
app.put('/image', (req, res) => {image.handleImage(req, res, db)})
app.listen(3000, ()=> {
console.log('app is running on port 3000');
})
2条答案
按热度按时间r6hnlfcb1#
听起来像是数据库凭证问题。它看起来像你有“”作为密码,你使用postgres作为你的数据库。您可能需要重新检查您的超级用户(postgres)是否没有密码或reset它。
您还可以检查是否在应用程序中编写了任何条件进程.env USER和PASSWORD变量。如果你有,那么你将不得不在你的.env文件中分配这些变量。
z4iuyo4d2#
此问题可能与数据库配置文件有关。对于我的,我有错误的密码从配置导入。必须将
toString()
方法添加到我的密码的config.get()
方法中。下面是我的knexfile在将toString()添加到我的密码后的样子