gpt4 book ai didi

javascript - 如何在node.js Express上的html View 中执行服务器端功能

转载 作者:行者123 更新时间:2023-12-03 01:04:35 25 4
gpt4 key购买 nike

我来自 PHP (laravel),我对 Node.js 还很陌生,它很有趣,但我在 html View 中使用服务器端函数时遇到了一些问题。与 Laravel 不同,在 Laravel 中,我可以访问一些重要的服务器端功能,在我看来,这些功能可以通过避免重复来加快工作速度,但我似乎无法访问 Node.js (express) 中的服务器端功能。在 Laravel 中,我可以按照我的观点执行这些操作:

asset('images/avatar.jpg')
config('app.name')
url('users/posts')

在laravel中,我的图像和其他文件位于存储目录中,该目录不在公共(public)目录中,但使用 Blade 模板中的asset()函数,我可以访问存储文件夹中的文件。

在我当前的node.js应用程序中,我有一个pathConfig.json文件,其中包含我的应用程序路径设置,在服务器端我可以访问该文件,如何从我的 View 访问相同的路径?我使用 express Handlebars

最佳答案

我已经使用express-handlebars的自定义助手得到了我想要的东西......使用express-handlebars,我可以在服务器端编写我的函数并在 View 中使用它。

我在服务器端有一个 helper.js 文件

const url = function(link=false) {
return process.env.URL+'/'+link;
};


const anotherFunction = function() {
return 2+2;
};

module.exports = {
url : url,
anotherFunction : anotherFunction
};

App.js 文件

helpers  = require('./helpers.js');    

app.engine('.html', hbs({
extname : '.html',
defaultLayout: 'main',
helpers: helpers
}));

在我看来(index.html)

<a href="{{url 'post/comments'}}"> Post comments</a>

关于javascript - 如何在node.js Express上的html View 中执行服务器端功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52465999/

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