在一个新的SailsJs应用程序中,我正在尝试从assets文件夹中提供角度应用程序。考虑到assets / admin / index.html我可以访问localhost:1337 / admin,但是,没有其他js文件或子目录可以访问。我甚至检查了.tmp / public文件夹,所有内容都正确复制,但是当我尝试引用除index.html之外的admin文件夹中的任何文件时,都无法找到它。
参考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!
我不能这样做吗?如何从admin文件夹访问我的角度应用程序文件?
答案 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文件夹。