NodeJS 服务器错误消息[ERR_INVALID_ARG_TYPE]:

mwyxok5s  于 2023-06-29  发布在  Node.js
关注(0)|答案(2)|浏览(269)

我的服务器收到一条错误消息: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');
})
r6hnlfcb

r6hnlfcb1#

听起来像是数据库凭证问题。它看起来像你有“”作为密码,你使用postgres作为你的数据库。您可能需要重新检查您的超级用户(postgres)是否没有密码或reset它。
您还可以检查是否在应用程序中编写了任何条件进程.env USER和PASSWORD变量。如果你有,那么你将不得不在你的.env文件中分配这些变量。

z4iuyo4d

z4iuyo4d2#

此问题可能与数据库配置文件有关。对于我的,我有错误的密码从配置导入。必须将toString()方法添加到我的密码的config.get()方法中。
下面是我的knexfile在将toString()添加到我的密码后的样子

{
  client: 'mysql',
  connection: {
    database: 'barhalt',
    user: 'root',
    password: config.get('db_user_password').toString()
  },
  ...
}

相关问题