【发布时间】:2015-09-22 16:44:19
【问题描述】:
我是 Angular 的新手,正在做一些实验。我有一个在本地运行的 REST API(Express 应用程序),并且我在公用文件夹中有使用 REST API 的 Angular 代码。服务器和客户端的所有代码都从一个代码库运行,一切正常,我可以在本地运行的 Mongo db 中添加、更新、删除项目(代码为 here)
然而,想法是在 Heroku 上运行服务器 API 并拆分 Angular 代码,以便我将所有 HTML 和 JS 文件放在一个完全独立的文件夹中,而不是任何 Express 应用程序的一部分。服务器部分运行良好,因为我正在使用 Postman 添加、更新和删除项目。使用 Angular UI 时,似乎没有执行 Angular 代码(cfr 屏幕截图)
此代码为here。
关于为什么运行此 HTML 代码似乎不起作用的任何想法?在 Chrome 浏览器中启用或禁用 CORS 没有帮助。
【问题讨论】:
-
打开控制台并检查解释问题的错误。
-
很公平,但对我没有帮助。它在文件底部的 controller.js 文件中提到了一个语法错误。由于这与工作应用程序中的代码完全相同,我不确定是什么问题:
Uncaught SyntaxError: Unexpected token ILLEGAL angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.16/$injector/modulerr?p0=myApp&p1=Error%3A%…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.16%2Fangular.min.js%3A17%3A381) -
添加更多信息:当我将此代码嵌入到一个非常简单的 Express 应用程序中时(基本上只是在 localhost:3000 上启动一个 Express 应用程序,其中包含公共文件夹中的 Angular 代码)它可以工作。然后我可以看到项目被创建、更新和删除。我猜这永远不是 Angular 的目的......
-
控制器文件的 url 包含在 controller/controller.js 中,因此除非您的控制器文件夹是服务器上公共文件夹的一部分,否则这将不起作用。我不明白您所说的“将所有 HTML 和 JS 文件放在一个完整的单独文件夹中,而不是任何 Express 应用程序的一部分”的意思,但是请调整 url 以使其在您的服务器提供 html 时指向正确的文件夹和这应该可以解决问题
-
controller.js 文件是控制器文件夹的一部分。代码为here。这些只是我认为应该可以使用的 HTML/JS 文件,但事实并非如此。但是,当我围绕它构建一个小型 Express 应用程序(基本上只是一个启动服务器的简单 server.js 文件)时,它可以完美运行。我想让它在没有 Express 应用程序的情况下工作。
标签: javascript angularjs mongodb rest heroku