NextJS 与 Serverless Mysql 错误 - 未找到模块:无法解析“net”

问题描述 投票:0回答:1

很多人都面临这个问题,但 StackOverFlow 上没有答案。请有人解答一下

我开始在 NextJS 中构建一个应用程序,遵循一些教程将应用程序连接到 mySql,但无论我做什么,我总是在控制台中出现错误。当我导入 serverless-mysql 包时,就会出现此错误。 找不到模块:无法解析“net”、“tls”和“fs”

这是位于/pages/文件夹中的index.js文件中的代码。

import Head from 'next/head'
import Image from 'next/image'
import styles from '../styles/Home.module.css'
import dynamic from 'next/dynamic'
import mysql from 'serverless-mysql'



export default function Home() {
  return (
    "The Default Boilerplate HTML Code goes here, it was too long hence not posting it

这是位于 /pages/ 文件夹中的 data.js 文件中的代码

import mysql from 'serverless-mysql';
const db = mysql({
  config: {
    host: process.env.MYSQL_HOST,
    port: process.env.MYSQL_PORT,
    database: process.env.MYSQL_DATABASE,
    user: process.env.MYSQL_USER,
    password: process.env.MYSQL_PASSWORD
  }
});
export default async function excuteQuery({ query, values }) {
  try {
    const results = await db.query(query, values);
    await db.end();
    return results;
  } catch (error) {
    return { error };
  }
}

我的nextjs.config文件代码

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  env: {
    'MYSQL_HOST': '127.0.0.1',
    'MYSQL_PORT': '3306',
    'MYSQL_DATABASE': 'nearcal',
    'MYSQL_USER': 'root',
    'MYSQL_PASSWORD': '',
  }
}

module.exports = nextConfig

我不知道为什么 React 被夸大了,做一件简单的事情却如此复杂。 LAMP 堆栈提供了完整的解决方案。 MERN真的很乱

mysql reactjs next.js connection
1个回答
0
投票

不确定是否对您有帮助。就我而言,我使用 next.js 14.2.3 应用程序路由器和 mysqljs/mysql。我发现问题是我在异步函数中使用了 mysql,而函数顶部没有

'use server'
行,并且是从客户端组件调用的。在函数顶部添加
'use server'
后,问题消失了。 Mysql 似乎可以在服务器操作或路由处理程序中工作。

© www.soinside.com 2019 - 2024. All rights reserved.