找到一个css文件节点js

时间:2016-04-30 16:50:59

标签: node.js file express

您好我是nodejs的新手,我刚刚成功在线部署nodejs应用程序。现在我想知道如何链接CSS,JS或图像文件,因为当我尝试像以前一样,我得到错误GET (not found)

文件夹架构是:

--public
    --assets
    --css
       index.css
    --js
--views
    --index.ejs
--node modules
app.js
package.json

假设我想对index.css中的链接index.ejs进行编码,请在app.js文件中写一下。

app.js代码:

var express = require('express');
var app = express.createServer();

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

app.use(express.static(__dirname + '/public'));

app.get('/', function(req,res){
    res.render('index');
});


app.listen(8080,'IP_ADRESS');

index.ejs代码:

<link rel="stylesheet" type="text/css" href="/css/index.css">

2 个答案:

答案 0 :(得分:1)

在express中提供静态文件的基本设置:

var express = require("express");
var app = express();
...
app.use(express.static(__dirname + '/public'));
...
app.listen(3000);

现在在你的.ejs中加载css样式或js脚本:

<link rel="stylesheet" href="/css/index.css"/>

答案 1 :(得分:0)

首先,有一个名为静态文件的东西。基本上,这是一个通过互联网发送的文件,没有任何修改。图像和CSS文件通常是静态文件。

您似乎已将静态文件放在名为public的文件夹中。

Express具有内置的发送静态文件的功能,称为express.static。您可以像这样使用它:

// Require the modules we need.
var express = require('express');
var path = require('path');

// Create an Express app.
var app = express();

// Get the path to the `public` folder.
// __dirname is the folder that `app.js` is in.
var publicPath = path.resolve(__dirname, 'public');

// Serve this path with the Express static file middleware.
app.use(express.static(publicPath));

// ...

您现在应该可以看到静态文件了。如果您的网站通常可以http://localhost:3000访问,那么您就可以在index.css看到http://localhost:3000/css/index.css

如果您想了解关于express.static方式太多,您可以查看深入了解Express的静态文件的a blog post I wrote