Am început să primesc această eroare când am instalat mysql_server pe serverul meu ca root, folosesc ufw, nu știu dacă ar trebui să permit serverul mysql prin ufw dacă ar trebui să o fac, nu știu cum, de asemenea pe serverul meu local primesc această eroare:
intern/module/cjs/loader.js:638
arunca greseala;
^
Eroare: Modulul „mysql” nu poate fi găsit
la Function.Module._resolveFilename (intern/modules/cjs/loader.js:636:15)
la Function.Module._load (internal/modules/cjs/loader.js:562:25)
la Module.require (internal/modules/cjs/loader.js:692:17)
la cerere (internal/modules/cjs/helpers.js:25:18)
la Object.<anonymous> (/mnt/c/Users/user/Documents/webdevelopment/projects/FinalYearProject/Black-Anthem-Ltd-Website/app.js:4:13)
la Module._compile (internal/modules/cjs/loader.js:778:30)
la Object.Module._extensions..js (intern/modules/cjs/loader.js:789:10)
la Module.load (intern/modules/cjs/loader.js:653:32)
la tryModuleLoad (intern/modules/cjs/loader.js:593:12)
la Function.Module._load (intern/modules/cjs/loader.js:585:3)
în special, spune că nu poate găsi mysql în directoarele mele. Încercam să-mi conectez formularul html la baza mea de date mysql înainte de a instala mysql_server și a început să întâmpin aceste probleme. Acestea sunt codurile mele de formular html:
Formularul de abonați la pagina de pornire:
<div class="subsect">
<div id="subtxt">
<h1>Subscribe to our Newsletter!</h1>
</div>
<div id="subform">
<form action="/" method="post">
<div class="ol"><div class="nam" >Name</div><div id="rsik">*</div></div>
<div class="sd ssd"><input type="text" name="fname" placeholder="First" id="fn">
<input type="text" name="lname" placeholder="Last" id="ln" ></div>
<div class="ol"><div class="nam" >E-mail</div><div id="rsik">*</div></div>
<div class="sd"></span><input type="email" name="email" placeholder="[email protected]" id="email"></div></br>
<button type="submit">Subscribe</button>
</form>
</div>
</div>
Solicitați formularul paginii de cotație:
<div id="formsection">
<form action="/RAQ" method="post" id="raqform">
<h2>Request A Quote</h2>
<div class="ol"><div class="nam" >Name</div><div id="rsik">*</div></div>
<div class="sd ssd"><input type="text" name="sfname" placeholder="First" id="fn">
<input type="text" name="slname" placeholder="Last" id="ln" ></div>
<div class="ol"><div class="nam" >E-mail</div><div id="rsik">*</div></div>
<div class="sd"><input type="email" name="semail" placeholder="[email protected]" id="email"></div>
<div class="ol"><div class="nam" >Select A Service</div><div id="rsik">*</div></div>
<div class="sd">
<select name="services" id="ser" class="sd">
<option value="RDCCC">Roads, Drainage, Culverts and channels construction</option>
<option value="CON">Consultancy</option>
<option value="DIC">Dams and irrigation Construction</option>
<option value="WMPFC">Warehousing, Marine and port facilities construction</option>
<option value="CHEIUPW">Construction of concrete hard surfaces especially in unfriendly polluted water</option>
<option value="CBHF">Consultation on buildings and feasibility</option>
<option value="CIMS">Calibration, inspection and meter proving services</option>
<option value="DCOGPPF">Design and Construction of oil and gas production and processing facilities</option>
<option value="DCPS">Design and Construction of pipeline Systems</option>
<option value="DCRPP">Design and Construction of refineries and petrochemical plants</option>
<option value="ROGF">Rehabilitation of oil and gas facilities (Onshore and Offshore)</option>
<option value="DCMTF">Design, Construction and Maintenance of tank farms</option>
<option value="DCMUS">Design, Construction and Maintenance of flow stations and underground storage</option>
<option value="LIP">Local and international procurement</option>
<option value="SSFP">Support services for projects</option>
<option value="CMSL">Civil and mechanical equipment supply and leasing</option>
<option value="HSEFPSMS">Health and safety environment and fire protection systems materials supply</option>
<option value="EFPSMS">Environment and fire protection systems materials supply</option>
<option value="SSS">Structural steel supply</option>
<option value="POCTG">Pipeline and oil country tubular goods (OCTG) supply </option>
<option value="WHCPS">Wellheads and control supply</option>
<option value="VFS">Valves and fittings supply</option>
<option value="PCFSS">Pumps, Compressor and fluid systems supply</option>
<option value="SSMPS">Strategic sourcing and man power supplies</option>
<option value="LSM">Logistics and supply chain management</option>
<option value="PM">Project Management</option>
<option value="FM">Facilities Management</option>
</select>
<div class="ol"><div class="nam" >Message</div><div id="rsik">*</div></div>
<div class="sd"><textarea name="comment" id="" cols="30" rows="10">Type your message here</textarea></div>
</div>
<button type="submit">Request A Quote</button>
</form>
</div>
Acesta este fișierul meu app.js:
const express = require('express')
cale const = require('cale')
const app = expres()
var mysql = require('mysql');
var bodyParser = require('body-parser')
const port = 3000
var urlencodedParser = bodyParser.urlencoded({ extins: false })
//Fișiere statice
app.use(express.static(path.resolve(__dirname, 'public')))
//Setați vizualizări
app.set('view engine', 'ejs')
app.set('views', './views')
app.get('/', (req, res) => {
res.render('Acasă')
})
app.get('/Despre', (req, res) => {
res.render('Despre')
})
app.get('/Proiecte', (req, res) => {
res.render('Proiecte')
})
app.get('/RAQ', (req, res) => {
res.render('RAQ')
})
app.get('/', (req, res) => {
res.render('acasă', {qs: req.query});
})
app.post('/', urlencodedParser, (req, res) => {
res.render('acasă', {qs: req.query});
})
app.get('/raq', (req, res) => {
res.render('raq', {qs: req.query});
})
app.post('/raq', urlencodedParser, (req, res) => {
res.render('raq', {qs: req.query});
})
var connection = mysql.createConnection({
gazdă: „https://www.blackanthemltd.site”,
utilizator: 'abayomi',
parola : '',
baza de date: „abonați”
});
connection.connect(funcție (eroare){
if (err) arunc err;
console.log('conectat..')
});
app.post('/', function(req,res){
console.log(req.body);
var sql ="inserați în valorile utilizatorilor('"+req.body.fname+"','"+req.body.lname+"',"+req.body.email+")"
connection.query(sql, function (eroare, rezultate) {
if (eroare) eroare de aruncare;
console.log('Soluția este: ', rezultate[0].soluție);
});
res.render('Acasă', { title: 'Date salvate',
mesaj: „Date salvate cu succes.”})
connection.end();
})
var connection2 = mysql.createConnection({
gazdă: „https://www.blackanthemltd.site”,
utilizator: 'abayomi',
parola : '',
baza de date: „Solicitări_de_oferte”
});
connection2.connect(funcție (eroare){
if (err) arunc err;
console.log('conectat..')
});
app.post('/RAQ', function(req,res){
console.log(req.body);
var sql ="inserați în valorile utilizatorilor('"+req.body.sfname+"', '"+req.body.slname+"', '"+req.body.semail+"', '"+req.body.services+ "', "+req.body.comment+")"
connection2.query(sql, function (eroare, rezultate) {
if (eroare) eroare de aruncare;
console.log('Soluția este: ', rezultate[0].soluție);
});
res.render('RAQ', { title: 'Date salvate',
mesaj: „Date salvate cu succes.”})
connection2.end();
})
app.listen(port, () => {
console.log(`Exemplu de aplicație care ascultă la http://localhost:${port}`)
})
Acesta este fișierul meu package.json de pe serverul meu de la distanță:
{
"nume": "balfyp",
"versiunea": "1.0.0",
"description": "Proiect pentru anul final",
„principal”: „app.js”,
„scripturi”: {
"test": "echo \"Eroare: nu a fost specificat niciun test\" && ieșire 1",
„start”: „nodemon app.js”
},
"autor": "abayomi",
"licență": "MIT",
„dependențe”: {
"cors": "^2.8.5",
"ejs": "^3.1.6",
„express”: „^4.17.1”
},
„devDependencies”: {
"nodemon": "^2.0.12"
}
}
acesta este fișierul meu package.json de pe serverul meu live:
{
"nume": "balfyp",
"versiunea": "1.0.0",
"description": "Proiect pentru anul final",
„principal”: „app.js”,
„scripturi”: {
"test": "echo \"Eroare: nu a fost specificat niciun test\" && ieșire 1",
„start”: „nodemon app.js”
},
"autor": "abayomi",
"licență": "MIT",
„dependențe”: {
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"ejs": "^3.1.6",
"express": "^4.17.1",
"mysql": "^2.18.1",
"nodemailer": "^6.6.3",
"nodemailer-mailgun-transport": "^2.1.3"
},
„devDependencies”: {
"nodemon": "^2.0.12"
}
}
Va rog cu ce am gresit?
Am făcut câteva modificări la baza mea de cod. Pagina mea web a încetat să mai afișeze eroare și s-a încărcat bine, ceea ce înseamnă că mysql s-a conectat cu succes, dar făcând clic pe butonul de trimitere de pe formularul meu după ce l-am completat, am primit eroarea:
Nu se poate POST /
iată modificările pe care le-am făcut bazei de cod, în special numai fișierului meu app.js:
const express = require('express')
cale const = require('cale')
const app = expres()
var mysql = require('mysql');
var bodyParser = require('body-parser')
const port = 3000
var urlencodedParser = bodyParser.urlencoded({ extins: false })
//Fișiere statice
app.use(express.static(path.resolve(__dirname, 'public')))
//Setați vizualizări
app.set('view engine', 'ejs')
app.set('views', './views')
app.get('/', (req, res) => {
res.render('Acasă')
})
app.get('/Despre', (req, res) => {
res.render('Despre')
})
app.get('/Proiecte', (req, res) => {
res.render('Proiecte')
})
app.get('/RAQ', (req, res) => {
res.render('RAQ')
})
app.get('/', (req, res) => {
res.render('acasă', {qs: req.query});
})
app.post('/', urlencodedParser, (req, res) => {
res.render('acasă', {qs: req.query});
})
var connection = mysql.createConnection({
gazdă: „https://www.blackanthemltd.site”,
utilizator: „rădăcină”,
parola: „Mynameisabayomi1.”,
baza de date: 'bal'
});
connection.connect(funcție (eroare){
if (err) arunc err;
console.log('conectat..')
});
app.post('/', function(req,res){
console.log(req.body);
var sql ="inserați în valorile utilizatorilor('"+req.body.fn+"','"+req.body.ln+"',"+req.body.email+")"
connection.query(sql, function (eroare, rezultate) {
if (eroare) eroare de aruncare;
console.log('Soluția este: ', rezultate[0].soluție);
});
res.render('Acasă', { title: 'Date salvate',
mesaj: „Date salvate cu succes.”})
connection.end();
})
app.listen(port, () => {
console.log(`Exemplu de aplicație care ascultă la http://localhost:${port}`)
})
vă rog, cum pot să nu mai primesc această eroare.