AngularJS + NodeJS App

时间:2016-05-10 12:54:28

标签: javascript angularjs node.js

我单独创建了一个AngularJS应用程序和一个NodeJS应用程序,但我现在要做的就是将两者融合。将nodeJS应用程序放在AngularJS App中,或者反过来。

我知道让NodeJS应用服务的API会被AngularJS App使用会更好但是我只需要一台服务器就可以了,我认为它是可行的,因为当我制作一个AngularJS时应用程序已经有一个名为" node_modules"的文件夹。

我项目的结构现在是:

  • AngularApp文件夹(其中有整个AngularJS应用程序)
  • node_modules(我在Node.js应用程序中加载了express,mysql和我需要的内容)
  • 独立:NodeApp.js(包含节点代码的NodeJS应用程序)

然而,当我运行app.js/index.html时,它会抛出以下错误:"无法获得index.html",这意味着即使他们在同一个项目中, AngularJS和NodeJS无法沟通。你能帮我解决这个问题吗?如果我想在同一个Webstorm项目中创建它们,我如何在AngularJS和NodeJS之间建立链接?

提前致谢。

我在研究中发现了这一点: http://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/02/13/how-to-use-nodejs-express-and-bower-to-create-angularjs-apps.aspx 这是我想要做的,但我不了解一切,因为使用Webstorm更容易

2 个答案:

答案 0 :(得分:1)

您应该使用Express Generator启动一个新应用,并查看它创建的文件夹结构。

我有一个使用expressjs和angularjs构建的小应用程序,这里是文件夹结构:

  • 配置
  • 模型
  • node_modules
  • 公共
    • Javascript角
      • 在这里所有的角度废话(当然在子文件夹中)
  • 路由
  • 测试
  • 的观点
    • index.html(这是我的主要html文件,这里是角度加载的地方)
  • app.js

要做到这一点,我必须更改视图引擎以使用.html 然后,当您访问 localhost:3000 时,服务器会呈现index.html( localhost:3000 /#/ ),它会加载角度和所有废话。 我所有的角度资源都转到/ api / yourModel。

因此,如果您访问 localhost:3000 / api / yourModel ,则表示您正在直接访问api。

对我来说这很好用,正如你所说,你把所有东西放在一起。前端和服务器在同一个"项目"说话。

答案 1 :(得分:0)

正如user1655756所建议的那样,我做的是创建一个新的nodeJS应用程序,然后注入angularJS应用程序文件夹,而不是公开。 然后正如Shaffanhoon在node.js中所建议的,我指定了我的index.html的路径,这对我有用.. 谢谢你的帮助