[英]Embed php file into react app using npm php-express not working
我正在嘗試使用npm php-express
將 php 文件嵌入到我的反應應用程序中。 我的機器上安裝了 php 並設置了環境變量。 我的文件結構如下:
../server/views/php/file.php
../app
../build
但是,當我使用npm start
並單擊 php 文件運行反應應用程序時,我收到錯誤消息: Could not open input file:
如果文件不在server/views/php/
目錄中,然后單擊我收到錯誤消息: Failed to lookup view "file" in views directory "..\views\php" at Function.render
想知道是否有人可以幫助我弄清楚我到底做錯了什么。
我在 react 應用程序中的 php 中間件代碼如下所示:
const path = require('path');
const phpExpress = require('php-express')({
binPath: 'php',
});
const setup = app => {
app.set('views', path.join(__dirname, '../views/php'));
app.engine('php', phpExpress.engine);
app.set('view engine', 'php');
app.all(/\/.+\.php$/, phpExpress.router);
app.all(/\/(file).*/i, phpExpress.router);
};
module.exports = { setup };
Express 是一個 Node.js 框架,用於構建 HTTP 服務器。
php-express
是 Express 中間件,旨在與 Express 一起使用。
React 是一個 JavaScript 框架,用於構建客戶端應用程序。
你不能在 React 應用程序中使用php-express
,因為:
您可以使用 Express 編寫 HTTP 服務器並使用php-express
通過它運行 PHP。
然后,您可以從 React 應用程序向該服務器發出請求。 這可以是跨域的(如果您將服務器設置為使用 CORS 授予權限),或者您可以構建 React 應用程序並部署生產規則,以便它們由同一台服務器托管。
但是,除非您強烈需要混合 PHP 和服務器端 JavaScript,否則您幾乎肯定最好使用不同的服務器來運行 PHP(例如 Nginx)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.