是否可以在 node.js 中使用 parcel-bundler 获取 MySQL 数据库?或者有没有更简单的方法来使用 parcel-bundler 获取 MySQL 数据库

Is it possible to get a MySQL database with parcel-bundler in node.js? Or is there an easier way to get a MySQL database with parcel-bundler

我是 node.js 的新手,尤其是包裹捆绑器。 我已经创建了一个 server.js 来连接数据库,如下所示 运行 没有问题。

Server.js

const express = require('express');
const mysql = require('mysql');

//Create connection to db
const db = mysql.createConnection({
   host:'localhost',
   user:'root',
   password:'',
   database:'db_webgisapp',
});

//Connect
db.connect((err) => {
   if(err){
       throw err;
   }
   console.log('MySql Connected...')
})

const app = express();

//Select table
app.get('/getdata',(req,res)=>{
   let sql = 'SELECT * FROM tb_testing LIMIT 3';
   let query = db.query(sql,(err,results)=>{
       if(err){
           throw err;
       }
       console.log(results);
       res.send('Fetched...')
   })
})
app.listen('4000',() => {
   console.log('Server started on port 4000')
})

当我将Server.js作为脚本放入index.html时出现问题,

index.html

<!DOCTYPE HTML>
<html class="loading" lang="en" data-textdirection="ltr">
   .....
    <!-- BEGIN: Body-->
    <body class="vertical-layout" data-col="">
    ...
    ...
    ...
    ...

    <script src="./scripts/Server.js"></script>
    <script src="./scripts/Map.js"></script>
    ...
    ...
    </body>
    <!-- END: Body-->
 </html>

与运行一样

npm start

所以这是我的 package.json

package.json

"scripts": {
   "start": "parcel index.html",
   "build": "parcel build --public-url . index.html"
},

终端没有错误,但我可以通过检查网络浏览器看到 2 个错误,

  1. 未捕获类型错误:http.ServerResponse 未定义
  2. 响应错误 响应已 t运行cated

通常,我使用 PHP 个文件与 MySQL 连接。但是,ParcelJS 无法读取 PHP 个文件。 那么,有人知道如何处理吗?或者有更好的方法来获取数据库并将其解析为 JSON 这样我就可以在 parcel-bundler 中使用数据了。

谢谢!!!

您不能从 HTML 文件直接调用 node.js 服务器上的函数。 HTML 文件在客户端的浏览器中。节点服务器就是你的web服务器,远离客户端在不同电脑上的浏览器。

如果您想从网页与 node.js 服务器通信,那么您可以在 HTML 页面中使用 Javascript 从 Ajax 调用Javascript 在网页中到 node.js 服务器(一个 Ajax 调用是一个 http 请求)。