AngularJS 使用 grunt 部署的项目仅适用于 localhost:9000

AngularJS project deployed with grunt only works on localhost:9000

我是 AngularJs 的新手,我一直在按照 tutorial.

中概述的以下步骤使用 Yeoman 构建我的应用程序

步骤:

npm install -g yo grunt-cli bower

npm install -g generator-angular

yo angular

npm install karma-jasmine --save-dev

npm install karma-chrome-launcher --save-dev

grunt serve

当我这样做时,它会创建一个文件,其中包含我进行编码的“/app”目录。正在执行命令。

grunt serve

完成后我可以在

查看我的项目
localhost:9000

但是,如果我通过

导航到该项目
localhost:8888 (my local MAMP server)

我收到参考和资源错误。我想知道的是。

  1. grunt 在做什么,为什么我的项目不能在 localhost:8888 上运行?

  2. 这种方法是构建 angular 项目的最佳方式吗?

本题与g运行t或Mamp或AngularJS无关。事实上这根本不是问题,只是偏好而已。 mamp 更喜欢 运行 本身在端口 8888 上,而 lamp(mamp 的 windows 版本)使用端口 80。端口只是从某处进入计算机的入口点。在一台计算机中存在多达 65535 个端口。

这也意味着,您可以在一台计算机上托管 65535 个网站。

如果您希望您的站点在 8888 上 运行,则只需打开 gruntfile.js 文件并搜索 9000 并将其更改为 8888,然后完成。

如果您愿意,您也可以通过一些配置文件更改 mamp 运行 本身的端口,但这有点难。

关于所有这些带回家的关键是您的网站不应该 运行 在已经有东西的端口上。例如,如果您打开了 Skype,它通常 运行 会在端口 80 上打开,因此如果您想要 运行 端口 80 上的网站,那么您必须先关闭 Skype。

1) grunt serve 创建了一个在支持 'livereload' 的节点服务器上运行的应用程序的临时版本。这意味着如果您编辑源文件,托管在 :9000 上的网页将自动刷新

2) 对于 运行 网络服务器中的应用程序(就像您 运行 在 :8888 上的应用程序),您应该使用 grunt build 创建生产就绪版本'dist' 目录

中的应用程序