Answers:
在最新版本的Angular中,这是在config文件中设置的angular.json
。例:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"projects": {
"my-project": {
"architect": {
"serve": {
"options": {
"port": 4444
}
}
}
}
}
}
您还可以ng config
用来查看/编辑值:
ng config projects["my-project"].architect["serve"].options {port:4444}
在以前的版本中,这是在angular-cli.json
defaults
元素下方设置的:
{
"defaults": {
"serve": {
"port": 4444,
"host": "10.1.2.3"
}
}
}
您可以使用两个命令行选项来配置默认的HTTP端口和LiveReload服务器使用的端口:
ng serve --host 0.0.0.0 --port 4201 --live-reload-port 49153
这在最新的Angular CLI中已更改。
文件名更改为angular.json
,结构也更改。
这是您应该做的:
"projects": {
"project-name": {
...
"architect": {
"serve": {
"options": {
"host": "foo.bar",
"port": 80
}
}
}
...
}
}
另一个选项是运行ng serve
带有--port
选项的命令,例如
ng serve --port 5050
(即用于端口5050)
或者,命令:ng serve --port 0
将自动分配一个可用端口。
--port 0
位是好的信息,但我不知道它回答了这个问题。
我们有两种方法可以更改Angular中的默认端口号。
第一种方法是通过CLI命令:
ng serve --port 2400 --open
第二种方法是在该位置进行配置:
ProjectName\node_modules\@angular-devkit\build-angular\src\dev-server\schema.json.
在schema.json文件中进行更改。
{
"title": "Dev Server Target",
"description": "Dev Server target options for Build Facade.",
"type": "object",
"properties": {
"browserTarget": {
"type": "string",
"description": "Target to serve."
},
"port": {
"type": "number",
"description": "Port to listen on.",
"default": 2400
},
您可以将它们保存在文件中,但必须将其放入.ember-cli
(至少目前)。参见https://github.com/angular/angular-cli/issues/1156#issuecomment-227412924
{
"port": 4201,
"liveReload": true,
"host": "dev.domain.org",
"live-reload-port": 49153
}
编辑:您现在可以在提交https://github.com/angular/angular-cli/commit/da255b0808dcbe2f9da62086baec98dacc4b7ec9以来的angular-cli.json中进行设置,该版本位于1.0.0-beta.30版本中
如果您在Windows上,则可以通过以下方式进行操作:
ng serve --host 192.168.1.2 --open
这不是标准方式,但使用起来很舒适(我感觉)。
您只需要做的一件事。在命令提示符中键入:ng serve --port 4021 [或您要分配的任何其他端口,例如:5050、5051等]。无需更改文件。
0.0.0.0
而不是主机ip来侦听所有以太网设备。这样,本地主机和公共IP地址都可以使用。