Javascript 如何在node.js express的html视图中执行服务器端函数
我来自PHP(laravel),我对node.js还是个新手,它很有趣,但我在html视图中使用服务器端函数时遇到了一些问题。在laravel中,我可以访问一些重要的服务器端功能,这些功能通过避免在我的视图中重复来加快工作速度。与此不同,我似乎无法访问node.js(express)中的服务器端功能。 在laravel,我可以在我的观点中做到以下几点:Javascript 如何在node.js express的html视图中执行服务器端函数,javascript,node.js,express,handlebars.js,Javascript,Node.js,Express,Handlebars.js,我来自PHP(laravel),我对node.js还是个新手,它很有趣,但我在html视图中使用服务器端函数时遇到了一些问题。在laravel中,我可以访问一些重要的服务器端功能,这些功能通过避免在我的视图中重复来加快工作速度。与此不同,我似乎无法访问node.js(express)中的服务器端功能。 在laravel,我可以在我的观点中做到以下几点: asset('images/avatar.jpg') config('app.name') url('users/posts') 在lara
asset('images/avatar.jpg')
config('app.name')
url('users/posts')
在laravel中,我的图像和其他文件位于存储目录中,该目录不在公共目录中,但使用刀片模板中的资产()功能,我可以访问存储文件夹中的文件
在我当前的node.js应用程序中,我有一个包含我的应用程序路径设置的pathConfig.json文件,在服务器端我可以访问该文件,如何从视图访问相同的路径?
我正在使用express和把手创建一个
public
目录,您将在其中保存所有资产css、js、字体、图像
,然后您必须设置静态
中间件,允许express为存储在某个位置的文件提供服务
var app = express()
// attaching the static middleware
app.use(express.static(path.join(__dirname, 'public')))
如果您在公共目录的
images
子文件夹中有一个imagetest.png
存储,您可以使用访问它,使用express Handlebar的自定义助手,我已经得到了我想要的东西。。。
使用express Handlebar,我可以在服务器端编写函数并在视图中使用它
我在服务器端有一个helper.js文件
const url = function(link=false) {
return process.env.URL+'/'+link;
};
const anotherFunction = function() {
return 2+2;
};
module.exports = {
url : url,
anotherFunction : anotherFunction
};
helpers = require('./helpers.js');
app.engine('.html', hbs({
extname : '.html',
defaultLayout: 'main',
helpers: helpers
}));
App.js文件
const url = function(link=false) {
return process.env.URL+'/'+link;
};
const anotherFunction = function() {
return 2+2;
};
module.exports = {
url : url,
anotherFunction : anotherFunction
};
helpers = require('./helpers.js');
app.engine('.html', hbs({
extname : '.html',
defaultLayout: 'main',
helpers: helpers
}));
在我的视图中(index.html)
+1,但如果你能给他一个他所要求的每一位助手的例子,这个答案会更好。