未知选项:'--base-href',Angular 13中的ng serve。

12

我正在使用CLI创建一个Angular 13应用程序,当我运行它时,我想设置一个路径到我的应用程序,但是遇到了以下错误:

Unknown option: '--base-href'
Unknown option: '/my-path/'

这是我运行的命令:

ng serve --base-href /my-path/

并且
ng serve --base-href=/my-path/

这是我的依赖项:

  "dependencies": {
    "@angular/animations": "~13.2.0",
    "@angular/common": "~13.2.0",
    "@angular/compiler": "~13.2.0",
    "@angular/core": "~13.2.0",
    "@angular/forms": "~13.2.0",
    "@angular/platform-browser": "~13.2.0",
    "@angular/platform-browser-dynamic": "~13.2.0",
    "@angular/router": "~13.2.0",
    "@ng-bootstrap/ng-bootstrap": "^4.1.1",
    "@reactivex/rxjs": "^6.6.7",
    "angular-oauth2-oidc": "^13.0.1",
    "bootstrap-icons": "^1.8.1",
    "font-awesome": "^4.7.0",
    "rxjs": "~7.5.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.11.4"
  },

请问有人对此问题有想法吗?我该如何在本地设置应用程序的路径?

谢谢!


您可以在文档中查看可用选项(https://angular.io/cli/serve)(或运行 ng serve --help)。 - jonrsharpe
@jonrsharpe 谢谢。我使用了 ng serve --serve-path=/my-path/,但它没有在 localhost/my-path 上启动应用程序,而是显示以下消息:Angular Live Development Server 正在侦听 localhost:4200,请在 http://localhost:4200/C:/Users/myuser/AppData/Local/Programs/Git/my-path 上打开您的浏览器**。 - James
2个回答

27

此选项已被弃用。您应该在angular.json中设置它,如下所示:

    "acme-project": {
      [...]
      "architect": {
        "build": {
          "options": {
            "baseHref": "/my-path/",

1
@ArnaudDenoylle 谢谢您的回复。我想在我的服务器阶段使用上下文路径,而不是“构建”。 - James
@James 你可以试一下吗?通常来说,“serve”配置会“继承”“build”配置,因此在服务阶段可能会起作用。 - Arnaud Denoyelle
不好意思,它无法工作 :( 请在您的浏览器中打开 http://localhost:4200/。 - James
这很奇怪。我可以确认差异来自该参数。如果我添加它,我会得到“在localhost:4200/my-path上打开您的浏览器”。你确定你没有忘记保存文件吗?此外,您可以尝试直接将这些选项放在architect.serve.options下面,但我不喜欢那样做。您还可以尝试在新项目上设置它,以确认。 - Arnaud Denoyelle
2
现在它可以工作了,我错过了结尾处的斜杠“/my-path”,应该是“/my-path/”。非常感谢。 - James
除了上面的解决方案之外,我还需要将index.html中的<base href="/">更改为<base href="/my-path/"> - Victor Stagurov

6

补充Arnaud的答案。

如果您不想更改开发和可能不是所有构建的baseHref,则应该将baseHref添加到所选配置的“configurations”中,而不是“options”中。

例如:在我的项目AngularExamplesAndSnippets中,我将baseHref添加到了我的“github-pages”配置中。

如果您要进行生产构建,则将其添加到“production”下面。

"build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            ... 
          },
          "configurations": {
            "github-pages": {
              "baseHref": "/AngularExamplesAndSnippets/",
              ...
            }

你好 @JimiSweden,感谢您的回复。在您的项目中,“github-pages”代表什么? - James
谢谢,这对我很有用,Angular 14。在我的情况下是关于“configurations”:{“production”:{“baseHref”:..... - Marco López

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接