【问题标题】:What happens when I run an Angular application using the command npm start当我使用命令 npm start 运行 Angular 应用程序时会发生什么
【发布时间】:2018-10-05 20:12:57
【问题描述】:

我是网络编程的新手。我按照教程使用Angular CLI创建了一个简单的网络应用程序,然后据说我可以使用命令npm start在本地运行该应用程序。

成功了,我的应用在 localhost:4200 上运行。

npm start 做什么来运行我的应用程序?

我还想知道使用哪种服务器来托管我的应用程序,因为我没有创建任何 Web 服务器(例如:Nodejs 服务器等)。

有没有办法自定义这个服务器,比如改变端口号?

P.s:我使用的是 Angular 6

【问题讨论】:

    标签: node.js angular angular-cli


    【解决方案1】:

    当您使用npm start 运行您的应用程序时,npm 将尝试在您的应用程序文件夹中查找配置文件package.json。如果存在,将运行scripts objectstart property 中指定的命令。在您的情况下,命令可能是ng serve

    然后,它将使用webpack-dev-server 启动本地网络服务器。在angular.json 中,用于运行本地服务器的构建器的文件夹路径在serve 对象的builder 属性中指定。

    转到生成器文件夹,打开schema.json。您将看到此文件中指定了默认端口 4200

    更改端口的最简单方法是将ng serve 与端口选项一起使用。例如,如果您想使用port 5000 运行您的应用程序,请使用ng serve --port 5000。您可以直接在 cmd 上运行此命令,也可以在 scripts 对象的 start 属性中指定它。

    【讨论】:

    • 欢迎来到 Stack Overflow。您不需要使用<br/> 来分隔段落,一个空行就可以了(已经为您完成了该编辑)。
    【解决方案2】:

    当你运行命令 npm start 时,npm 将运行 packages.json 文件中提到的命令

    在该文件中,我们将拥有各种脚本,例如 start、build、test

      "scripts": {
        "ng": "ng",
        "start": "ng serve",
        "build": "ng build",
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
      },
    

    这些脚本将具有触发角度 CLI 操作的命令。

    基本上 npm start 是这些脚本命令的别名。您可以更改或创建自己的脚本集。

    由于您已经安装了 npm,nodejs 将安装在您的机器中。 Angular CLI 将使用节点服务器来运行您的应用程序。

    默认端口号是4200,你可以自定义你想运行的端口。

    另一个选项是使用 --port 选项运行 ng serve 命令,例如

    ng serve --port 5050 (i.e for port 5050)
    

    或者,命令:ng serve --port 0,将自动分配一个可用端口以供使用。

    您可以根据需要更新packages.json中的脚本。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2023-03-07
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      相关资源
      最近更新 更多