Dieser Code funktioniert unter Windows ohne Fehler.Knoten Linux/Windows-Kompatibilitätsprobleme
Wenn jedoch der gleiche Code auf einer Amazon Linux AMI-Box ausgeführt wird, erhalte ich den folgenden Fehler.
module.js:471
throw err;
^
Error: Cannot find module './nodeHelperFunctions/datasources'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/ec2-user/testbed/js/app.js:17:59)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
versucht, meinen Code zu
var connLaw = require(path.join(__dirname, 'nodeHelperFunctions/datasources')).service
, connPG = require(path.join(__dirname, 'nodeHelperFunctions/datasources')).postgis
, headers = require(path.join(__dirname, 'helperHtml/headers'))
, footers = require(path.join(__dirname, 'helperHtml/footers'))
, passCheck = require(path.join(__dirname, 'nodeHelperFunctions/hashsalt'))
;
wieder funktioniert perfekt in Windows bekam aber auf Linux einen ähnlichen Fehler zu ändern:
module.js:471
throw err;
^
Error: Cannot find module '/home/ec2-user/testbed/js/nodeHelperFunctions/datasources'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/ec2-user/testbed/js/app.js:17:15)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
wie kann ich Person Skripte werde ich mich geschrieben haben unter Linux arbeiten, wenn sie unter Windows perfekt funktionieren?
'/ home/ec2-benutzer/testbett/js/nodeHelperFunctions/datasources' ist das der richtige weg? Wo ist das "nodeHelperFunctions" Verzeichnis? – Joe
@akaphenom Dies ist wahrscheinlich die richtige Antwort, versuchen Sie, ändern Sie die Pfadnamen von CammelCase zu Bindestrich, oder sogar Unterstrich Format –
@Saul ist richtig, wenn Sie Bindestriche verwenden es Groß-und Kleinschreibung aus der Gleichung. Ich verwende (jetzt) Bindestriche für alle Datei- und Verzeichnisnamen und camelCase für Variablen innerhalb der Skripte. Ich wurde vor vielen Jahren verbrannt (ok 2014) und zu dieser Zeit auf Ubuntu Entwicklungsumgebung umgestellt, – akaphenom