Angular 6+ 如何更改默认端口 4200
Posted
技术标签:
【中文标题】Angular 6+ 如何更改默认端口 4200【英文标题】:Angular 6+ How to change default port 4200 【发布时间】:2018-11-04 06:12:05 【问题描述】:这个问题特定于 Angular 6 版本,而不是更早的版本,因为 .angular-cli.json 文件已被 angular.json 文件替换。
我创建了一个新的 Angular 6 项目,并尝试更改其默认端口,但这次是在 angular.json 中。
"defaults":
"serve":
"port": 4220
,
但是得到以下错误:
在 .angular-cli.json 中检测到无效架构,请更正并尝试 又来了!
有人知道如何使用这个新版本的 Angular 来做到这一点吗?
【问题讨论】:
angular-cli server - how to specify default port的可能重复 @Orlandster 提到的问题已于 16 年 5 月 11 日发出,它谈论的是 angular-cli,Angular 的第 6 版于 18 年 5 月发布,在那里找到这样的答案令人困惑。 【参考方案1】:由于标题不准确:“angular-cli server - how to specify default port”,我的问题很难找到答案,但感谢Vladymir Gonzalez,我找到了。
为了帮助其他人快速找到答案,我在这里提取了Angular 6的具体部分,属于elwyn:
@angular/cli@6.x 更新:在新的 angular.json 中,您现在为每个“项目”指定一个端口
"projects":
"my-cool-project":
... rest of project config omitted
"architect":
"serve":
"options":
"port": 4850 <-- add your custom port number here
所有可用选项:
https://github.com/angular/angular-cli/wiki/angular-workspace
【讨论】:
这可以使用 cli config 命令设置:ng config projects.[YOURPROJECTNAME].architect.serve.options.port 1337
这是最好的答案。谢谢!【参考方案2】:
您也可以在服务时指定端口:ng serve --port 3000
您可以将任何有效的端口号放在那里,它将从该端口提供服务。
【讨论】:
我更喜欢通过将端口保存在 angular.json 文件中来避免这种情况,这样我就可以只使用“ng serve -o”,而不必每次都尝试记住每个应用程序的端口号。跨度> 有道理,我通常有多个项目服务于不同的存储/身份验证数据,所以我倾向于只指定服务时间【参考方案3】:我正在为 angular 2+ 应用程序提供答案。
如果您想在不同的端口启动 2 个 Angular 应用程序,即
1) port 4200
2) port 5000
您需要更改 "package.json" 文件,只需更改添加一行 "Script block" 在第一个花括号中,您的应用程序名称,版本默认可用,
"scripts":
"ng": "ng",
"start": "ng serve --port 5000 ",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
,
通过 "npm start" 命令启动您的应用程序。 此命令将在 Port 5000 上启动您的应用程序。
【讨论】:
长期使用的最佳答案,因此我不必每次都使用“ng serve --port 4300”(或其他数字)。谢谢!【参考方案4】:更改默认端口的两种方法 第一:使用命令
ng serve --port 8000 || ng serve --host '192.168.1.1' --port 8000
第二:编辑你的 package.json
"scripts":
"ng": "ng",
"start": "ng serve --port 8000",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
,
如果您在系统中的某个时间使用多个项目,则条件第一个是最好的,而我的事情首先适合练习
【讨论】:
【参考方案5】:答案很简单
在命令提示符下写ng serve --open --port=YourPortNumber
。
例子:
ng serve --open --port=4201
==== 其他解决方案 ====
你也可以在package.json
改
"scripts":
"start": "ng serve --open --port=4201",
现在,在命令 propmt 中只写 npm start
【讨论】:
【参考方案6】:要在指定端口上运行 Angular,请使用命令 sudo ng serve --port 8080
代替 8080,您可以指定任何端口号。
这只会在端口号上运行项目,除非你关闭它。
【讨论】:
以上是关于Angular 6+ 如何更改默认端口 4200的主要内容,如果未能解决你的问题,请参考以下文章
如何在同一端口 4200 上运行 angular 4 app 和 nodejs api 用于生产和开发?
“端口 4200 已在使用中”。杀死与 4200 相关的所有进程都不起作用。
Angular 6 + Spring Boot:错误:“来自原点 'http://localhost:4200' 已被 CORS 策略阻止”
同一服务器上的两个项目具有不同的端口,但客户端(Angular 6)无法调用服务器(Spring Boot)