SailsJs - 从资产中提供Angular App

时间:2016-09-18 23:17:06

标签: angularjs sails.js assets

在一个新的SailsJs应用程序中,我正在尝试从assets文件夹中提供角度应用程序。考虑到assets / admin / index.html我可以访问localhost:1337 / admin,但是,没有其他js文件或子目录可以访问。我甚至检查了.tmp / public文件夹,所有内容都正确复制,但是当我尝试引用除index.html之外的admin文件夹中的任何文件时,都无法找到它。

enter image description here

参考index.html中的角度模块

<!--Sailes IO Library-->
<script src="/js/dependencies/sails.io.js"></script>

<!--Vendor Scripts-->
<script src="/js/angular-animate.js"></script>
<script src="/js/angular-aria.js"></script>
<script src="/js/angular-material.js"></script>
<script src="/js/angular-messages.js"></script>
<script src="/js/angular.js"></script>
<script src="/js/release/angular-ui-router.js"></script>

<!--Admin Application Definition-->
<script src="/admin/app.js"></script>
<script src="/admin/config/router.js"></script>

然而,没有提供app.js!

enter image description here

我不能这样做吗?如何从admin文件夹访问我的角度应用程序文件?

2 个答案:

答案 0 :(得分:2)

要在sails.js中加载角度应用程序,您需要从views文件夹中提供index.html文件。

所以你在config / routes.js

'/': {
    view: 'homepage'
}

这意味着当您点击应用程序的根目录时,将从views文件夹中提供homepage.ejs

复制homepage.ejs中assest / admin / index.html文件的内容,如有必要,检查所有链接和脚本标记是否都有相对于assets文件夹的文件路径。

一旦提供了主页,您就可以使用angular ui路由器进行路由

注意 -

改变你的 localhost:1337 / admin to

本地主机:1337

答案 1 :(得分:0)

在更深入地阅读文档之后,sails还将提供assets文件夹中的index.html文件。所以我创建了一个新文件夹,在该文件夹中我创建了一个新的index.html和app.js文件,然后解除了。然后,我的index.html文件位于与我的文件夹名称匹配的网址上。我的文件夹名为“admin”,因此导航到localhost:1337 / admin加载了我的index.html页面。

至于服务其他依赖项,我使用grunt-bower和一个新的grunt任务开始将我的bower_components提供给我的assets / vendor文件夹。