节点和Express无法find我的js文件夹

我有我的Node.JS应用程序的文件夹结构

/ |-js |-ajax.js |-img |-css |-views |-index.html |-router |-main.js |-node_modules |-server.js 

我的server.js文件看起来像

 var express=require('express'); var app=express(); require('./router/main')(app); app.set('views',__dirname + '/views'); app.set('view engine', 'ejs'); app.engine('html', require('ejs').renderFile); var server=app.listen(3000,function() { console.log("Express is running on port 3000"); }); 

我对Node和Express很新。 当我尝试在我的index.html(内部视图)中包含一个js文件时,它说该文件找不到。 我不明白为什么

 ../js/ajax.js 

无法从我的index.htmlfind

我认为同样的问题正在发生与我的CSS文件。

您需要将您的js目录设置为静态。

 app.use(express.static('js')); 

http://expressjs.com/starter/static-files.html

不过,我会build议你的目录结构做到这一点:

 -static -js -ajax.js -img -css -views -router 

接着

 app.use(express.static('static'));