gpt4 book ai didi

javascript - Express,在静态文件中展开变量

转载 作者:行者123 更新时间:2023-12-05 05:27:21 26 4
gpt4 key购买 nike

我在 nodejs 平台上使用 express 并使用此指令提供我的 javascript 库文件

app.use('/static', express.static(__dirname + '/static'))

现在我希望能够在其中一个静态文件中编写类似的东西

[..] var host = <%= host %> [..]

是否有可能在静态提供的文件中扩展变量?

最佳答案

这里有一个您可能想要改进的想法:

var ejs = require('ejs');

//Express.js setup
...

app.use('/public/js/myfile.js', function(req, res){
var f = ejs.compile('var host = <%= hostname %>;');
var fileContent = f({hostname: 'somevalue'});
res.setHeader('Content-Type', 'application/javascript');
res.setHeader('Content-Length', fileContent.length);
res.send(fileContent);
});
app.use(express.static(path.join(__dirname, 'public')));

//Routes definition
...

我使用了 ejs,因为那是您已经在使用的。所以想法是有一个中间件来捕获对那些“动态”javascript 文件的请求,并使用模板引擎来编译内容。

请注意,我在这里使用了一个简单的字符串变量,但您可以从磁盘读取文件然后编译它。

干杯

关于javascript - Express,在静态文件中展开变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com