【问题标题】:When I run the app.js ,it shows the error "TypeError: knex.select is not a function"当我运行 app.js 时,它显示错误“TypeError:knex.select 不是函数”
【发布时间】:2019-02-28 07:20:10
【问题描述】:

我在 app.js 文件中有这个 sn-p 代码,

   app.get('/', (req, res) => {
    // res.render('login');
    var data = knex.select('*').from('RegisterData');
    res.send(data)
    console.log(data); 
});

【问题讨论】:

  • knex 是如何定义的?
  • 你在node中安装knex了吗?
  • @Lasse Vågsæther Karlsen ,const express = require('express'); const request = require('request'); const expressValidator = require('express-validator'); const authRoutes = require('./routes/auth-routes'); const session = require('express-session');常量护照 = 要求('护照'); const bodyParser = require('body-parser'); const mysql = 要求('mysql'); const db = require('./config/db'); const knex1 = require('./knexfile');常量 knex = 要求('knex'); 这就是我在 app.js 文件中定义所有模块的方式
  • @AndiswamyRajagopal 请edit您的问题提供有关您如何包含 Knex 的详细信息。
  • @sk786 ,我全局安装了

标签: mysql node.js express visual-studio-code knex.js


【解决方案1】:

在 cmets 中(你真的应该更新你的问题以反映这些),你说你定义了 knex :

const knex = require('knex');

你应该看看Node.js installation section中的初始化库段落。

它应该看起来像:

const knex = require('knex')({
  client: 'mysql',
  connection: {...}
});

这意味着knex 应该是require 公开的函数调用的结果。

【讨论】:

    【解决方案2】:

    根据你使用的数据库定义knex并赋值:

    const knex = require("knex");
    
    const database= knex({
      client: "mysql",
      connection: {
        host: "127.0.0.1",
        user: "your_user_name_for_database",
        password: "password_if_any",
        database: "your_database"
      }
    });
    

    然后像这样执行查询:

    database.select("*").from("users");
    

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      相关资源
      最近更新 更多