javascript - Sails.js 如何为 Yeoman 生成的应用程序提供服务

标签 javascript sails.js yeoman single-page-application

我是 Sails.js 的新手,对此我感到非常兴奋。它是创建 API 的绝佳工具。 我还使用 Yeoman 生成的单页应用程序(jquery 或 angular)工作了一段时间,它们非常适合客户端逻辑。

但是,目前基于这两种技术制作应用程序的唯一方法是将它们分成两个完全独立的项目,这是一种浪费。

我正在寻找一种将两者结合起来的方法。 我想让 Sails.js 为 Web 应用程序的静态 Assets 提供服务并加载其 index.html 文件(而不是 homepage.ejs)。我还希望开发环境(grunt、live-reload 能够正常工作)。

我尝试在 assets 文件夹中创建一个 yeoman 项目并将布局重定向到 index.html,但它有几个问题: - 我无法区分 app/文件夹(在开发期间)和 dist/文件夹(在生产中) - bower_components 链接已损坏(它指的是/bower_components 而不是/assets/app/bower_components)

我想可能还有更多我还没有发现的问题。

有没有人尝试(并成功)结合这些技术?

最佳答案

您可以通过执行以下步骤提供静态 index.html 而不是 homepage.ejs:

  1. 将您的 index.html 文件放在 assets 文件夹下。
  2. 在config文件夹中打开routes.js并更改代码
    '/': {
       view: 'homepage'
    }

    '/': {
       view: false
    }

Assets 文件夹作为网站的根文件夹。如果您的“angular.min.js”文件位于“assets\bower_components\angular”文件夹中,这将在浏览器中转换为“/bower_components/angular/angular.min.js”。

关于javascript - Sails.js 如何为 Yeoman 生成的应用程序提供服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33998591/

相关文章:

javascript - 用纯css模拟mouseenter

javascript - 我想在渲染模板后使用onclick事件

javascript - Javascript 对象的深度赋值不起作用 (NodeJS)

node.js - 服务器端包括 (SSI) 与 grunt 连接网络服务器

javascript - 无法使用 jQuery 动态添加按钮添加新单元格

javascript - 无法在 Angular 中设置 $scope 的值?

javascript - 将 passport-steam 与 sails-generate-auth 结合使用

node.js - 执行升 sails 时 orm 加载失败

html - yeoman webapp 子文件夹错误的 css 路径

node.js - Yeoman 生成器发布到 npm 后不包含子生成器