这是我的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”
答案 0 :(得分:1)
您需要将视图设置为:
app.set('views', __dirname + '/');
您可以将JS和CSS文件放在公共目录中的/ js和/ css中,并按如下方式引用它们(因为它是惯例):
<script src="/js/jquery.js"></script>
这应该可以解决您的问题。祝你好运