У меня есть Electron JS и node.js проект с базой данных MySQL на cPanel для виртуального хостинга. Это мой пакет. json file
{
"name": "app_name",
"version": "1.0.0",
"main": "main.js",
"devDependencies": {
"electron": "^8.0.0",
"electron-builder": "^22.3.2",
"electron-packager": "^14.2.1"
},
"scripts": {
"start": "electron .",
"startServer": "nodemon index.js",
"build": "electron-packager .",
"dist": "electron-builder",
"dev": "npm run start",
"all": "npm-run-all --parallel startServer start"
},
"build": {
"appId": "com.myapp.app",
"productName": "myapp",
"target": "NSIS",
"directories": {
"output": "build"
},
"nsis": {
"allowToChangeInstallationDirectory": true,
"oneClick": false
}
},
"dependencies": {
"D": "^1.0.0",
"body-parser": "^1.19.0",
"express": "^4.17.1",
"http": "0.0.0",
"https": "^1.0.0",
"mysql": "^2.18.1",
"npm-run-all": "^4.1.5"
}
}
Это мой index. js файл, который используется для соединения с MySQL на cPanel общего хостинга.
const mysql = require('mysql');
const express= require('express');
var app=express();
const bodyparser=require('body-parser');
app.use(bodyparser.json());
var mysqlConnection = mysql.createConnection({
host:'************', //Shared Hosting Public Address
user: '************', // Username
password: '************', //User Password
database:'************' // Database Name
});
mysqlConnection.connect((err)=>{
if(!err)
{
console.log('Connection Successed!');
}
else
{
console.log('Connection Failed! Error:'+JSON.stringify(err,undefined,2));
}
});
var port = process.env.port || 3000;
app.listen(port,()=>console.log('Offline Express server is running at at port no :3000'));
//Get all users
app.get('/users', (req, res) => {
mysqlConnection.query('SELECT * FROM users', (err, rows, fields) => {
if (!err)
{
res.send(rows);
}
else
{
console.log(err);
}
})
});
Далее, это фрагменты кода для вызова API для получения пользователей пользователей. js
const options = {
method: "GET",
headers: {
'Content-Type': "application/json"
},
//body: JSON.stringify(data),
hostname: 'localhost',
port: 3000,
path: '/users'
};
const http = require('http');
const req = http.request(options, (res) => {
res.on('data', (chunk) => {
let json = JSON.parse(chunk);
var count=0;
json.forEach(users => {
count=1;
});
if(count==1)
{
console.log("Data Found");
}
else
{
console.log("Not Found");
}
});
res.on('end', () => {
console.log('No more data in response.');
});
});
req.on('error', (e) => {
console.error(`problem with request: ${e.message}`);
});
req.on('success', (e) => {
console.error(`Successed with request: ${e.message}`);
});
req.end();
Я выполняю команду в терминале узла npm запустить все , определенные в пакете . json файл для запуска нескольких npm. Он работает нормально, и я могу получить доступ к пользователям моей базы данных
Проблема:
Я упаковываю свое приложение с npm run dist, Исполняемый файл успешно работает, но когда я пытаюсь получить доступ к пользователям моей базы данных, он показывает эту ошибку:
проблема с запросом: connect ECONNREFUSED 127.0.0.1:3000