将单页面Angular App模板集成到Sails.js中

我目前正在试图build立一个教育单页的Web应用程序,将使用Angular的前端和Sails.js的后端。 我正在使用可以在这里find的Angular应用程序模板。

我想把它整合到一个Sails.js项目中,我甚至通读了Stack Overflow上关于这个线程的所有答案,其中涵盖了一个类似的问题,但是没有一个答案似乎适用于我。 我能够使用index.html中的代码作为我的主页视图使用该线程#1的答案,但是当它加载它只加载HTML(尽pipe事实上,我有所有的CSS链接)。

它也不会加载所有的Angularfunction(例如:如果你点击一个链接,例如注册页面,它将在页面底部加载它的html,但不会隐藏其他元素)。

我怎么可能解决这个问题?

注:如果需要额外的信息来回答这个问题,我会很乐意提供。

编辑:

所以这可能会有所帮助(Saoman.js项目的文件结构和使用Yeoman生成的Angular Web应用程序模板的文件结构):

Sails.js项目文件结构:

  • API
    • 适配器/
    • 控制器/
    • 楷模/
    • 政策/
    • 服务/
  • 资产
    • 图片/
    • JS /
    • 风格/
    • favicon.ico的
    • 的robots.txt
  • configuration/
  • node_modules /
  • 意见
    • 家/
    • 403.ejs
    • 404.ejs
    • 500.ejs
    • layout.ejs
  • Gruntfile.js
  • app.js
  • 的package.json

有angular度的单页面网页应用程序模板文件结构:

  • 应用
    • 404.html
    • 资产/
    • bower_components /
    • favicon.ico的
    • favicon.png
    • 字体/
    • 图片/
    • 的index.html
    • 的robots.txt
    • 脚本/
    • 风格/
    • 意见/
  • bower.json
  • DIST /
  • Gruntfile.js
  • 卡玛 – e2e.conf.js
  • karma.conf.js
  • 节点模块/
  • 的package.json
  • 预build/
  • 自述
  • readme.txt文件
  • testing/

顺便说一下,dist和prebuilt文件夹与app文件夹相对相同。 唯一的区别是dist文件夹是为生产而构build的,而且预构build的文件夹(显然)是应用程序的预编译/示例版本。

要使用Angular with Sails,首先确保Sails在构build应用程序时加载Angular应用程序文件,以确保javascript,css和html文件位于等效Sails文件夹下的assets文件夹中。 所以angular度JavaScript文件应该位于资产/资产文件夹中的assets / styles和html文件中的资产/ js,css文件之下。

要包含bower_components,最好将它们复制到资产下的文件夹中,例如,可以将grunt-bower-task用于此目的。

Sails构build过程应包含bower_components,因此在tasks / pipline.js中更改以下行:

// CSS files to inject in order // // (if you're using LESS with the built-in default config, you'll want // to change `assets/styles/importer.less` instead.) var cssFilesToInject = [ 'vendor/**/*.css', 'styles/**/*.css' ]; // Client-side javascript files to inject in order // (uses Grunt-style wildcard/glob/splat expressions) var jsFilesToInject = [ 'vendor/angular/*.js', 'vendor/angular-*/*.js', // Load sails.io before everything else 'js/dependencies/sails.io.js', // Dependencies like jQuery, or Angular are brought in here 'js/dependencies/**/*.js', // All of the rest of your client-side js files // will be injected here in no particular order. 'js/**/*.js' ]; 

我创build了一个模板,实现Angular 教程 PhoneCat应用程序,你可以克隆它,并使用它作为基地: https : //github.com/oferh/ayooni