NodeJs应用程序需要指导实现php作为模板

时间:2017-04-27 07:45:37

标签: node.js express

任何人都可以指导我实现PHP作为NodeJS应用程序的模板。 我打算用: PHP只加载前端html模板(安全目的) ExpressJs作为我的后端。

我在实施相同内容时遇到了困难,我附上以下代码:

var phpnode = require("php-node");
app.engine('php', phpnode);
app.set('view engine', 'php');

我正在尝试加载这样的模板:

router.get('/index.php', function(req, res, next) {
    res.render('index.php');
});

1 个答案:

答案 0 :(得分:1)

最小例子:

文件结构:

  1. ./ test.js - 我们的nodejs文件
  2. ./ php / - 带有php文件的视图文件夹
  3. ./php/phpinfo.php - 我们的测试php文件
  4. ./ test.js:

    var express = require('express'),
        app = express(),
        //make sure that `bin` location is right for you system
        phpnode = require('php-node')({bin:"/usr/local/bin/php"});
    
    app.set('views', __dirname+'/php/');
    app.engine('php', phpnode);
    app.set('view engine', 'php');
    
    app.all('/phpinfo.php', function(req, res) {
       res.render('phpinfo');
    })
    
    var port = process.env.PORT || 8081;
    app.listen(port, function() {
      console.log("Listening on " + port);
    })
    

    ./ PHP / phpinfo.php的

    <?php phpinfo(); ?>
    

    浏览器中打开http://127.0.0.1:8081/phpinfo.php,您应该看到phpinfo文本输出(不是HTML,纯文本,因为我们以CLI模式运行php,就像在终端中运行它一样)

    告诉我,如果你不是在CLI模式下需要它,我会试着找出如何切换它..