2016-03-30 4 views
1

Ich habe eine node.js + Express + Express-Lenker-App auf Heroku bereitgestellt. Beim Ausführen der App zeigt die Konsole an, dass der Fehler jquery file (404) nicht gefunden wurde. Dies erzeugt einen Kaskadeneffekt und die daraus resultierenden abhängigen Bibliotheken wie Bootstrap, Datatables etc. scheitern.jQuery-Datei wurde nicht gefunden in node.js + Express-App auf Heroku

Nachstehend ist mein package.json Datei

{ 
    "name": "test-node", 
    "version": "0.0.1", 
    "description": "Test node", 
    "main": "app.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/username/repo.git" 
    }, 
    "author": "Neeraj Jadhav", 
    "license": "ISC", 
    "bugs": { 
    "url": "https://github.com/username/repo/issues" 
    }, 
    "homepage": "https://github.com/username/repo", 
    "dependencies": { 
    "bcrypt-nodejs": "0.0.3", 
    "body-parser": "^1.15.0", 
    "cookie-parser": "^1.4.1", 
    "express": "^4.13.4", 
    "express-handlebars": "^3.0.0", 
    "express-session": "^1.13.0", 
    "method-override": "^2.3.5", 
    "moment": "^2.12.0", 
    "mysql": "^2.10.2", 
    "passport": "^0.3.2", 
    "passport-local": "^1.0.0", 
    "sendgrid": "^2.0.0", 
    "serve-favicon": "^2.3.0", 
    "shortid": "^2.2.4" 
    }, 
    "engines": { 
    "node": "0.10.28", 
    "npm": "1.4.9" 
    } 
} 

Im Folgenden ist der Screenshot von meinem Knoten js Projektordnerstruktur.

node js project structure

Es ist nicht in der Lage die jQuery-1.12.1.min.js

error on console

In meinem app.js zu finden zog ich die Codezeile, die statischen Dateien über jeder Referenzierung sonst, aber es funktioniert immer noch nicht. Wenn ich den jquery Heroku-Link in einem neuen Tab öffne und vor js public hinzufüge, wie folgt: https://admin-violet.herokuapp.com/public/js/jQuery-1.12.1.min.js, wird der gleiche Fehler angezeigt.

app.js code

Jede Idee, warum es nicht in der Lage, die Jquery-Datei zu finden? Ich habe zuvor Knoten-js-Projekte auf Heroku bereitgestellt, aber nie mit diesem Problem konfrontiert.

Schätzen Sie die Hilfe.

Antwort

2

Sie müssen Kleinbuchstaben für Heroku und Knoten verwenden, beachten Sie die Fehler für sucht jQuery weisen nur um es zu jquery und Sie sollten gut sein.

Relevante Dokumente:

Heroku Docs

Einige Sprachen ermutigen Dateinamen, die Klassennamen übereinstimmen, wie MyClass und ‚MyClass.js‘. Tun Sie das nicht im Knoten. Verwenden Sie stattdessen Kleine Dateien:

let MyClass = require('my-class'); 

Node.js ist das seltene Beispiel eines Linux-centric Werkzeugs mit großer Cross-Plattform-Unterstützung. Während OSX und Windows "myclass.js" und "MyClass.js" gleichwertig behandeln, wird Linux dies nicht tun. Um Code zu schreiben, der zwischen Plattformen portierbar ist, müssen Sie genau erforderliche Anweisungen, einschließlich Großschreibung, abgleichen. Der einfachste Weg, dies richtig zu machen, besteht darin, nur mit Kleinbuchstaben Dateinamen für alles zu bleiben, zB 'my-class.js'.

-3

Versuchen Sie in Ihrem Befehlszeilenprogramm, den Heroku-Server neu zu starten. heroku restart oder versuchen Sie, die Protokolle zu lesen heroku logs -t die "-t" ist eine Flagge für den Schwanz wird Ihnen zeigen, wo es auf der Serverseite innerhalb Heroku ausfällt.

Verwandte Themen