我想知道我是否可以在配置文件中设置主机和端口,因此我不必输入
ng serve --host foo.bar --port 80
而不仅仅是
ng serve
答案 0 :(得分:185)
在最新版本的Angular中,这是在the angular.json
config file中设置的。例如:
I
您还可以use ng config
查看/编辑值:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"projects": {
"my-project": {
"architect": {
"serve": {
"options": {
"port": 4444
}
}
}
}
}
}
在以前的版本中,这是ng config projects["my-project"].architect["serve"].options {port:4444}
元素下面的set in angular-cli.json
:
defaults
答案 1 :(得分:61)
截至目前,该功能尚不受支持,但是,如果这会让您感到困扰,那么替代方案将在您的package.json中...
"scripts": {
"start": "ng serve --host foo.bar --port 80"
}
这样您只需运行npm start
如果要在多个项目中执行此操作,另一个选项是创建一个别名,您可以将其命名为ngserve
,这将执行您的上述命令。
答案 2 :(得分:30)
答案 3 :(得分:25)
这在最新的Angular CLI中已更改。
文件名更改为angular.json
,结构也更改了。
这是您应该做的:
"projects": {
"project-name": {
...
"architect": {
"serve": {
"options": {
"host": "foo.bar",
"port": 80
}
}
}
...
}
}
答案 4 :(得分:13)
另一种选择是使用ng serve
选项运行--port
命令,例如
ng serve --port 5050
(即端口5050)
或者,命令:ng serve --port 0
将自动分配可用端口以供使用。
答案 5 :(得分:7)
我们有两种方法可以更改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”:“ Build Facade的Dev Server目标选项。”, “ type”:“对象”, “属性”:{ “ browserTarget”:{ “ type”:“ string”, “ description”:“服务目标。” }, “港口”: { “ type”:“数字”, “ description”:“监听端口。”, “默认”:2400 }
答案 6 :(得分:6)
您可以将这些文件保存在文件中,但必须将其保存在.ember-cli
中(至少目前为止);见https://github.com/angular/angular-cli/issues/1156#issuecomment-227412924
{
"port": 4201,
"liveReload": true,
"host": "dev.domain.org",
"live-reload-port": 49153
}
编辑:你现在可以在angular-https://github.com/angular/angular-cli/commit/da255b0808dcbe2f9da62086baec98dacc4b7ec9中的angular-cli.json中设置它们,这是在构建1.0.0-beta.30
答案 7 :(得分:3)
如果您在Windows上,则可以这样操作:
//book code type inMemoryScanner struct { pair pair Chan *pair closeCh chan struct{} } func (c *inMemoryCache) NewScanner() Scanner { pairCh := make(chan *pair) closeCh := make(chan struct{}) go func() { defer close(pairCh) c.mutex.RLock() //the c.c is book's map for k, v := range c.c { c.mutex.RUnlock() select { case <-closeCh: return case pairCh <- &pair{k, v}: } c.mutex.RLock() } c.mutex.RUnLock() } return &inMemoryScanner{pair{}, pairCh, closeCh} } //my demo func main() { testMap := make(map[string]string) mutex := sync.RWMutex{} for i := 0; i < 64; i ++ { mutex.Lock() testMap[uuid.New().String()] = uuid.New().String() mutex.Unlock() fmt.Println("Write") } go func() { for { mutex.Lock() testMap[uuid.New().String()] = uuid.New().String() time.Sleep(100 * time.Millisecond) mutex.Unlock() fmt.Println("Write") } } () for k, v := range testMap { mutex.RLock() fmt.Println("k" + k + "v" + v) mutex.RUnlock() time.Sleep(100 * time.Millisecond) } }
这不是标准方式,但使用起来很舒适(我觉得)。
答案 8 :(得分:1)
如果您打算在自定义的主机/ IP 和端口中运行角度项目,则无需在中进行更改>配置文件
以下命令对我有用
ng serve --host aaa.bbb.ccc.ddd --port xxxx
在哪里
aaa.bbb.ccc.ddd --> IP you want to run the project
xxx --> Port you want to run the project
示例
ng serve --host 192.168.322.144 --port 6300
对我来说结果是
答案 9 :(得分:0)
这是我放入package.json(运行角度为6)的内容:
{
"name": "local-weather-app",
"version": "1.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --port 5000",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
然后简单的npm start将拉入start的内容。也可以在内容中添加其他选项
答案 10 :(得分:0)
您只需要做的一件事。在命令提示符中输入以下内容: ng serve --port 4021 [或您要分配的任何其他端口,例如:5050,5051等]。无需更改文件。
答案 11 :(得分:0)
如果要在运行ng serve时专门打开本地IP地址,可以执行以下操作:
npm install internal-ip-cli --save
ng serve --open --host $(./node_modules/.bin/internal-ip --ipv4)
答案 12 :(得分:0)
使用 /etc/hosts
设置本地名称解析并不费力。
hosts
文件进行编辑,请运行:sudo nano /etc/hosts
。127.0.0.1 localho.st
然后可以在 architect
中配置 serve
> angular.json
部分:
"options": {
"browserTarget": "app:build",
"liveReload": true,
"host": "localho.st",
"port": 8100
},
人们可能还想更改 hostname
中的 package.json
:
ng run app:serve --host=localho.st --port=8100