查看未找到expressjs并在expressjs上部署客户端js和css

时间:2013-03-18 20:17:26

标签: javascript node.js view express

这是我的js文件,它位于我的html文件的同一目录中,我想渲染它。

它有多难?我不知道我错过了什么。

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

app.engine('html',require('ejs').renderFile);
app.set('views', __dirname + '/'); //Edit #1

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

app.get('/', function(req, res){
   //res.send('hello world');
   res.render('gapijs.html');
});

app.listen(8090);

我在阅读expressjs docs之后使用了express.directory和express.static(我不确定它是否正确)。我已经安装了所有deps并在该目录中牢固地链接。 (使用npm链接)

编辑:我必须按照@Stan的评论中的说明设置观看次数 之后,我在vanilla节点中获得了res.write的相同效果。

这是我面临的另一个问题,如何部署gapijs.html所需的js和css文件,我是否必须做任何事情来处理每次加载网页时我正在下载的js?

编辑2:这是我的最终版本代码(按我想要的方式工作)。

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

app.engine('html',require('ejs').renderFile);
app.set('views', __dirname + '/public');
app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res){
   //res.send('hello world');
   res.render('gapijs.html');
});

app.listen(8090);

gapijs.html在/ public和js文件中使用public / css中的public / js和css,以及使用express命令生成项目时js和css文件的放置方式。

将html中的那些文件称为src =“/ js / blabla.js”

1 个答案:

答案 0 :(得分:1)

您需要将视图设置为:

app.set('views', __dirname + '/');

您可以将JS和CSS文件放在公共目录中的/ js和/ css中,并按如下方式引用它们(因为它是惯例):

<script src="/js/jquery.js"></script>

这应该可以解决您的问题。祝你好运