为什么我在 Angular 项目中使用 lite-server 时得到 404 GET /index.html?

Why am I getting 404 GET /index.html when I use lite-server in my Angular project?

我有一个无法部署的 Angular 项目,所以我决定使用 lite-server 来查看问题所在。但是当我在终端中使用 运行 lite-server 时,出现以下错误:

[Browsersync] Serving files from: ./
[Browsersync] Watching files...
21.09.26 17:17:05 404 GET /index.html
21.09.26 17:17:06 404 GET /favicon.ico
21.09.26 17:20:21 404 GET /index.html

这是我在 package.json 中的脚本对象:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "dev": "lite-server"
  },

要使用 lite-server 服务应用程序,您需要先构建它。所以 运行 npm run build。这会将构建的应用程序默认放在 dist/<app_name> 文件夹中。之后 lite-server 应该使用 --baseDir 参数调用,让 lite-server 知道构建的应用程序在哪里。所以我建议将 dev 脚本更新为 "dev": "lite-server --baseDir=\"dist/<app_name>\"".

如果您需要查看构建输出,您可以定义一个包含 ng build --watch 内容的 npm 脚本。这可能 运行 在第一个终端中,在第二个终端中 lite-server.