0

这个问题与我之前的帖子和评论中的讨论有关。

Angular 基本 href 未显示在 URL 中

TLDR 是我的应用程序在本地测试时运行正常,例如在 localhost:4200/page1 和 /page2 之间正确路由,但当我将其部署到具有类似于此 production.com/myapp/page1 和/第2页。

我正在尝试使用以下命令构建使用 ngX-Rocket 生成的 Angular 应用程序。

ng build --watch --baseHref=/myapp/

目标是更改生产服务器上的基本路径。所以为了测试这个,我使用了 lite-server

lite-server --baseDir="dist"

但我收到以下错误:

Did not detect a `bs-config.json` or `bs-config.js` override file. Using lite-server defaults...
** browser-sync config **
{
  injectChanges: false,
  files: [ './**/*.{html,htm,css,js}' ],
  watchOptions: { ignored: 'node_modules' },
  server: { baseDir: 'dist', middleware: [ [Function], [Function] ] }
}
[Browsersync] Access URLs:
 ----------------------------------
       Local: http://localhost:3000
    External: http://10.0.75.1:3000
 ----------------------------------
          UI: http://localhost:3001
 UI External: http://localhost:3001
 ----------------------------------
[Browsersync] Serving files from: dist
[Browsersync] Watching files...
19.08.28 13:30:34 200 GET /index.html
19.08.28 13:30:34 404 GET /myapp/runtime.js
19.08.28 13:30:34 404 GET /myapp/styles.js
19.08.28 13:30:34 404 GET /myapp/polyfills.js
19.08.28 13:30:34 404 GET /myapp/vendor.js
19.08.28 13:30:34 404 GET /myapp/main.js
19.08.28 13:30:35 404 GET /myapp/styles.js
19.08.28 13:30:35 404 GET /myapp/vendor.js
19.08.28 13:30:35 404 GET /myapp/main.js
19.08.28 13:30:35 404 GET /myapp/favicon.ico

我无法确定问题出在哪里。是我的构建过程吗?当检查我的 dist 文件夹时,所有这些文件都在 index.html 而不是 /myapp/ 的根目录中。所以任何帮助将不胜感激。

4

1 回答 1

0

angular.json文件中,您可以指定文件夹。并建立ng build --baseHref ./

...
"options": {
            "outputPath": "dist/browser",
            ...
}
...
于 2019-08-28T12:34:17.817 回答