在配置文件中为ng服务设置默认主机和端口

时间:2016-06-11 09:29:34

标签: angular angular-cli

我想知道我是否可以在配置文件中设置主机和端口,因此我不必输入

ng serve --host foo.bar --port 80

而不仅仅是

ng serve

13 个答案:

答案 0 :(得分:185)

Angular CLI 6 +

在最新版本的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
                    }
                }
            }
        }
    }
}

Angular CLI< 6

在以前的版本中,这是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)

您可以使用两个命令行选项配置默认HTTP端口和LiveReload服务器使用的端口:

_yield()

https://github.com/angular/angular-cli

答案 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上,则可以这样操作:

  1. 在项目根目录中,创建文件run.bat
  2. 在此文件中添加命令以及您选择的配置。例如
  

//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) } }

  1. 现在,您随时可以单击并打开该文件。

这不是标准方式,但使用起来很舒适(我觉得)。

答案 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

对我来说结果是

enter image description here

答案 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)

enter image description here

您只需要做的一件事。在命令提示符中输入以下内容: 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