【发布时间】:2017-07-04 03:15:23
【问题描述】:
我将 node.js 与sails.js 用于后端,将angular.js 用于前端。
在 Angular 中,我使用一个主控制器和一些子控制器。
如您所知,默认情况下,在sails.js 中,在文件layout.ejs 中包含标签之间的所有java 脚本和css 文件
<!--SCRIPTS--><!--SCRIPTS END-->
和
<!--STYLES--><!--STYLES END-->
主要内容包含在<%- body %>标签中
当我扬帆起航时,转到浏览器并检查“元素”,我发现一些问题:
主控制器(让它成为“myApp”)在角度生成 html 中使用 layout.ejs 之类的主体(包含所有 css 和 js),然后包含控制器内容。
现在的问题: 问题是“myApp”的另一个子控制器也使用 layout.ejs 生成。这就是为什么某些脚本包含多次的原因。
示例:4 个子控制器 = 4 个包含在 google.maps.api 中。那很糟!!代码好脏!
现在的问题是:我怎样才能解决这个问题,并且只包含一次脚本和 css?
【问题讨论】:
-
使用服务来包含 google.maps.api 并与控制器共享该服务。服务是单例的,只构造一次。
标签: angularjs node.js sails.js