2014-09-30 41 views
0

我想在一个nodejs express应用程序(最新版本的快递)中包装我的html。我尝试使用res.sendFile发送我的“index.html”文件。我遇到了在浏览器中加载页面时出现大量404错误的问题,因为它找不到我的任何js或css文件。我的js文件位于bower_components目录中,有些位于“js”目录中。我的css文件位于“css”目录中。如何正确包含index.html中的express/nodejs的外部css和js文件?

一个路径是:

/bower_components/jquery/dist/jquery.min.js 

什么是我的server.js文件和我的index.html文件进行更新,以便它可以找到所有的“CSS”和“JS”文件的最好方法?

回答

2

您可以使用该指令express.static

var server = express(); 
server.use(express.static(path.join(__dirname, 'static'))); 

它将寻找一个静态的文件夹,以满足您的静态文件。只要把你的CSS和JS文件,此文件夹中,并(在你的情况的index.html)在你的模板<head>部分引用它们

1

如果您有这两行代码在app.js文件:

app.use(express.static(path.join(__dirname, 'public'))); 
app.set('views', path.join(__dirname, 'views')); 

然后你需要把你的HTML文件放在视图文件夹中。 我自己用的ejs(templator)用于渲染HTML文件等,加入这行代码到我的app.js:

app.set('view engine', 'ejs'); 

然后通过改变你的HTML费尔的extention到.ejs你可以使它们验证码:

res.render('file_name'); 

更多信息

例如,如果你有一个CSS文件中/public/css/style.css你有这个地址链接到它在你的HTML代码:./css/style.css或类似的东西。

相关问题