2016-04-19 3 views
1

Ich bin neu in NodeJS. Ich rufe meine statische Javascript-Datei aus meiner EJS-Datei. Es gibt nichts auf der Konsole aus.Ich kann meine statischen JS-Dateien in ExpressJS nicht verwenden

Meine .ejs Datei:

<head> 
    <title><%= title %></title> 
    <link rel='stylesheet' href='/stylesheets/style.css' /> 
    <script type="text/javascript" src="/javascripts/calc.js"></script> 

    </head> 
    <body>...</body> 

Meine statische js (calc.js) file:

console.log("WHY IS THIS NOT WORKING?!");//this is it I have NO MORE CODE HERE 

I app.use (express.static (path.join hinzugefügt haben (__ dirname , 'Öffentlichkeit'))); in meiner app.js.

Meine statische JS-Datei ist in der Öffentlichkeit -> Javascripts -> calc.js

Dank.

+0

können Sie Ihre Verzeichnisstruktur und den js-Dateicode definieren, wo Sie diese Konsole verwenden –

+0

Entschuldigung, gerade hinzugefügt. @AkhileshSingh. Das ist der ganze Code in meiner JS-Datei. Ich habe nichts anderes als jetzt. – Han

+0

okk Lassen Sie mich überprüfen Sie Ihren Code scheint ok –

Antwort

0

In app.use() verbinden Sie __dirname und den Ordner "public", aber in Ihrer EJS-Datei ist der src zu Ihrem Skript im Stamm, nicht unter "public". Dies könnte das Problem sein.

+0

Wenn ich es öffentlich mache/javascripts/calc.js funktioniert es immer noch nicht. – Han

+1

In Express sind die statischen Pfade relativ zu dem Ordner, der in der Anweisung "use" angegeben wird. Mit anderen Worten, verwenden Sie nicht "öffentlich" im Pfad. – HeadCode

0
app.use('/public',express.static(path.join(__dirname,'public'))); 
0

Fügen Sie diese Zeile in Ihre app.js ein. app.use(express.static(__dirname + '/public'))
Es funktioniert für mich.