在 codeanywhere 上使用 angularjs-cli 构建 angularjs 2

build angularjs 2 with angularjs-cli on codeanywhere

我在尝试通过 ng serve --host 0.0.0.0 为我的应用程序提供服务器时遇到无效主机 header 问题。我尝试了以下内容。 1.install-gangular-cli 2. cd 到 app-directory 3. 在 angular-cli.json

中更改端口
"defaults": {
    "styleExt": "css",
    "component": {},
    "serve": {
              "port": 1337
             }
  }
  1. ng 服务 --host 0.0.0.0
  2. 在浏览器中请求 url 是 http://port-1337.angular2-jobproject0889272.codeanyapp.com/

我一直在寻找解决不同问题的方法,发现了一个可能对您有用的答案。

ng serve --port 8080 --host 0.0.0.0 --disableHostCheck true

Angular-cli GitHub

如果我没有正确理解你的问题,那么你的问题可能源于 Webpack 的安全实现。
由于 Angular CLI 默认使用 Webpack 来捆绑您的应用程序,因此您在使用 "ng serve" 时必须遵守其要求。 Webpack 生成的应用程序包现在要求请求的主机 header 匹配监听地址或 public 选项中提供的主机。

public 选项 是随 "ng serve" 命令传递的 --public 标志。在 CodeAnywhere 上,您很可能还应该注意指明端口号。有效的 "ng serve" 命令可能如下所示: $ ng serve --host 0.0.0.0 --port 3000 --public myproject-myusername.codeanyapp.com

(对于 HTTPS 服务,CodeAnywhere 要求您使用端口 3000)

您可以在您的 CodeAnywhere IDE 中找到您的 --public 标志的特定值,方法是 right-clicking 在项目的树视图连接图标上并选择 "info"选项。

为了简化操作,您可以在 package.json 文件中进行设置,然后使用以下命令启动 Angular 服务器: $ npm start

例如,您可以修改 package.json "scripts" 条目的 "start" 元素,如下所示: "scripts": { "ng": "ng", "start": "ng serve --host 0.0.0.0 --port 3000 --public myproject-myusername.codeanyapp.com" }

希望此信息适用于您面临的问题。祝你好运!