Beh*_*ili 15 cpanel npm reactjs next.js
将 nextjs 应用程序部署到c-panel托管时,它会询问应用程序的入口点,默认为app.js. 在正常的 React 应用程序中,它完全处于控制之中,但是在使用时,nextjs不清楚哪个 js 文件负责启动应用程序。
关于选择正确的 js 文件作为应用程序入口点有什么想法吗?
编辑:
我的托管提供商为我提供了以下代码来设置 Express 应用程序(使用 next 的请求处理程序)来处理请求:
const express = require('express');
const next = require('next');
const dev = process.env.NODE_ENV !== 'production';
const nextApp = next({ dev });
const handle = nextApp.getRequestHandler();
const port = 3454;
nextApp.prepare().then(() => {
const app = express();
app.get('*', (req, res) => {
return handle(req, res);
});
app.listen(port, err => {
if (err) throw err;
console.log(`> Ready on localhost:${port}`);
});
});
Run Code Online (Sandbox Code Playgroud)
它可以工作,但速度很慢,因为它根据服务器请求按需编译源文件。
你只需要导出你的 nextjs 应用程序,它就可以使用
pages -- 是否有页面
或者
app.js --是否有app.js文件
只需添加以下脚本
"scripts": {
"build": "next build",
"export": "next export",
"serve": "serve out"
},
Run Code Online (Sandbox Code Playgroud)
您可以先构建项目,然后导出它。然后您可以为其提供服务以检查它将如何部署。
如果是 cPanel,只需提取可能命名out为您的文件夹(如 xyz.com)的 nextjs 构建文件夹。
构建中会有一个index.html,它是您的主文件。
我很惊讶地发现 cpanel 有启动 Nodejs 应用程序的功能。
关于 app.js 你需要了解的内容:
App.js 包含一个 Web 服务器应用程序(从上面的代码来看,您的托管提供商建议您使用 ExpressJS - 最常用的 JS Web 服务器应用程序)向浏览器提供 Web 文件(类似于 Apache)。
“它可以工作,但速度很慢,因为它根据服务器请求按需编译源文件。”
你有 package.json 文件吗?
您知道 cpanel 运行了什么命令来启动您的应用程序吗?
请检查您的 NextJS 应用程序是否在开发模式或生产模式下运行。
| 归档时间: |
|
| 查看次数: |
32508 次 |
| 最近记录: |