0

这是我的 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 文档后,我使用了 express.directory 和 express.static(我不确定它是否正确)。我已在该目录中安装并牢固链接所有部门。(使用 npm 链接)

编辑:我必须按照@Stan 的评论中提到的那样设置视图之后,我在香草节点中得到了与 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/js 和 css 在 public/css , js 和 css 文件的放置方式,使用 express 命令生成项目时。

将 html 中的这些文件称为 src="/js/blabla.js"

4

1 回答 1

1

您需要将视图设置为如下所示:

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

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

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

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

于 2013-03-20T01:43:28.423 回答