带有index.php而不是index.html的Nodejs + socket.io

问题描述 投票:0回答:2

我有使用nodejs的简单应用程序。我的视图文件是php而不是html。有关编译php文件的问题使用:res.sendfile(__ dirname +'/ index.php');它适用于html文件但不适用于php文件。请帮助如何使用php与nodejs。

node.js codeigniter
2个回答
0
投票

PHP-Express是一个很好的模块,可以帮助您实现您的要求。它与Express版本3和4兼容。

希望这可以帮助!


0
投票

您可以使用PHP-Express App结构来实现此目的

├── app.js
├── package.json
└── views
    └── file.php

并在app.js

var path = require('path');
var express = require('express');
var app = express();
var router = express.Router();
var phpExpress = require('php-express')({
    binPath: 'php'
});
var bodyParser = require('body-parser');
app.use(bodyParser.json());

app.set('port', (process.env.PORT || 5000));

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

app.set('views', path.join(__dirname, '/views'));
app.engine('php', phpExpress.engine);
app.set('view engine', 'php');

app.all(/.+\.php$/, phpExpress.router);

app.use(function (req, res, next) {
    res.status(404).send("Sorry can't find that!")
});

app.listen(app.get('port'), function() {
    console.log('Node app is running on port', app.get('port'));
});

你不需要渲染php,查看引擎phpExpress会照顾它.router会找到合适的路径并从你的视图文件夹中提供php。

© www.soinside.com 2019 - 2024. All rights reserved.