【问题标题】:Angular SSR Error: Failed to lookup view "index" in views directoryAngular SSR 错误:无法在视图目录中查找视图“索引”
【发布时间】:2021-02-20 07:22:56
【问题描述】:

我已将 Angular 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

.ht访问代码:

<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>

参考:https://www.purcellyoon.com/insights/articles/angular-universal-server-side-rendering-ssr-with-cpanel-whm

请帮助解决问题。

感谢高级。

【问题讨论】:

    标签: angular cpanel server-side-rendering


    【解决方案1】:

    我在同一个参考之后遇到了同样的问题:https://www.purcellyoon.com/insights/articles/angular-universal-server-side-rendering-ssr-with-cpanel-whm

    这是我解决问题的方法: 上传dist 文件夹。在大多数情况下,您的 dist 文件夹将您的项目名称作为其中的文件夹。如果这是您的情况,在上传到 cPanel 后,目录应该在您的 public_html 中类似于 dist/PROJECT_NAME/serverdist/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,您的站点应该可以正常加载。

    【讨论】:

      【解决方案2】:

      我通过更改有关“distFolder”的行来修复我的问题: 来自

      const distFolder = join(process.cwd(), "dist/browser");

      const distFolder = join(__dirname, "../../dist/browser");

      __dirname 似乎是动态获取文件夹名称的更好方法。

      【讨论】:

        猜你喜欢
        • 2019-06-26
        • 2021-06-26
        • 2021-07-23
        • 1970-01-01
        • 1970-01-01
        • 2020-08-08
        • 2022-11-30
        • 1970-01-01
        • 2018-11-01
        相关资源
        最近更新 更多