【问题标题】:SailsJs - Serving Angular App from AssetsSailsJs - 从资产服务 Angular 应用程序
【发布时间】:2017-01-26 13:46:30
【问题描述】:

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

引用index.html中的angular模块

<!--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 文件夹访问我的 Angular 应用程序文件?

【问题讨论】:

    标签: angularjs sails.js assets


    【解决方案1】:

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

    所以在你的 config/routes.js 中

    '/': {
        view: 'homepage'
    }
    

    这意味着当您点击应用程序的根目录时,会提供来自视图文件夹的 homepage.ejs

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

    提供主页后,您可以使用 Angular ui 路由器进行路由

    注意——

    改变你的 localhost:1337/admin 到

    本地主机:1337

    【讨论】:

    • 嘿,我试过了,这很奏效,但只是因为我想真正解耦我的前端,我决定完全放弃使用视图,让我的资产文件夹处理这个。
    【解决方案2】:

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

    就服务其他依赖项而言,我使用 grunt-bower 和一个新的 grunt 任务开始将 bower_components 服务到我的 assets/vendor 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 2020-08-04
      • 2019-11-07
      • 2021-02-10
      相关资源
      最近更新 更多