是否可以在 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 个错误,
- 未捕获类型错误:http.ServerResponse 未定义
- 响应错误
响应已 t运行cated
通常,我使用 PHP 个文件与 MySQL 连接。但是,ParcelJS 无法读取 PHP 个文件。
那么,有人知道如何处理吗?或者有更好的方法来获取数据库并将其解析为 JSON 这样我就可以在 parcel-bundler 中使用数据了。
谢谢!!!
您不能从 HTML 文件直接调用 node.js 服务器上的函数。 HTML 文件在客户端的浏览器中。节点服务器就是你的web服务器,远离客户端在不同电脑上的浏览器。
如果您想从网页与 node.js 服务器通信,那么您可以在 HTML 页面中使用 Javascript 从 Ajax 调用Javascript 在网页中到 node.js 服务器(一个 Ajax 调用是一个 http 请求)。
我是 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 个错误,
- 未捕获类型错误:http.ServerResponse 未定义
- 响应错误 响应已 t运行cated
通常,我使用 PHP 个文件与 MySQL 连接。但是,ParcelJS 无法读取 PHP 个文件。 那么,有人知道如何处理吗?或者有更好的方法来获取数据库并将其解析为 JSON 这样我就可以在 parcel-bundler 中使用数据了。
谢谢!!!
您不能从 HTML 文件直接调用 node.js 服务器上的函数。 HTML 文件在客户端的浏览器中。节点服务器就是你的web服务器,远离客户端在不同电脑上的浏览器。
如果您想从网页与 node.js 服务器通信,那么您可以在 HTML 页面中使用 Javascript 从 Ajax 调用Javascript 在网页中到 node.js 服务器(一个 Ajax 调用是一个 http 请求)。