我已经将角ssr项目部署到cpanel中,并且在使用以下命令node dist/angular-universal/server/main.js运行该项目时会出现错误。
错误:
Node Express server listening on http://localhost:4000
Error: Failed to lookup view "index" in views directory "/home/angularssrtest/public_html/dist/browser"
at Function.render (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:440409)
at ServerResponse.render (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:891199)
at server.get (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:2976541)
at Layer.handle [as handle_request] (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:464045)
at next (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:448841)
at Route.dispatch (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:448870)
at Layer.handle [as handle_request] (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:464045)
at /home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:3290536
at param (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:3292042)
at param (/home/angularssrtest/public_html/dist/angular-universal/server/main.js:1:3292449)这是我的文件夹结构。
public_html:
.htaccess代码:
<IfModule mod_rewrite.c>
RewriteEngine on
# Redirect Public ports to NodeJS port
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:4000/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:4000/$1 [P,L]
</IfModule>请帮忙解决这个问题。
谢谢高级。
发布于 2021-04-05 20:47:11
我在遵循相同的引用时遇到了同样的问题:https://www.purcellyoon.com/insights/articles/angular-universal-server-side-rendering-ssr-with-cpanel-whm
下面是我如何解决这个问题:上传dist文件夹。在大多数情况下,dist文件夹将项目名称作为文件夹。如果这是您的情况,则在上传到cPanel之后,目录应该类似于您的public_html中的dist/PROJECT_NAME/server和dist/PROJECT_NAME/browser。
然后通过ssh登录到您的服务器,并运行以下命令:cd public_html,->,看起来应该是/home/account_name/public_html node dist/PROJECT_NAME/server/main.js输出:Node Express server listening on http://localhost:4000,然后访问站点url,您的站点应该加载得很好。
发布于 2022-01-17 14:04:20
我修改了关于“distFolder”的词句:
const distFolder = join(process.cwd(), "dist/browser");
至
const distFolder = join(__dirname, "../../dist/browser");
__dirname似乎是动态获取文件夹名称的更好方法。
https://stackoverflow.com/questions/66289040
复制相似问题