gpt4 book ai didi

node.js - Node、connect/express 和 broccoli 的全栈 Assets 管道

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:59 25 4
gpt4 key购买 nike

首先我必须承认我在 Node 上是个菜鸟。我之前一直使用 ASP.NET,然后是 PHP,然后是 Django。不管怎样,我已经呼吸到了新鲜空气。这个问题严格来说也不是 Node 问题,但我需要一个特定于 Node 的答案。

我有一个快速服务器和有 Angular 的前端。服务器端模板位于 swig 中,目前仅用于错误页面和索引页面。大多数情况下, Angular 模板将构成大部分前面的内容。

我正在努力解决的问题,即使只是决定如何去做,也是为 Assets 管道获得高效的工作流程。服务器端模板必须能够在开发和测试期间注入(inject)原始 Assets 。测试期间的客户端模板也是如此。基本上,使用 Express 的静态中间件运行应该是一个无需任何配置的选项(也许在服务器端 Assets 中使用一些帮助程序)。因此 git clone -> grunt -> viola。

但是,在暂存和生产过程中,我希望服务器端文件保持原样。模板助手可以解析指示缓存失效链接的 list 文件(也可能是 CDN 路径)。如何建立从逻辑资源包名称到生产就绪资源的链接对我来说是一个谜,同时保持开发透明。

客户端模板可能会被缩小、连接、注入(inject)等,因为它将被保存到某个 dist 文件夹中以供上传。重要的是整个依赖树(图像、字体、css、js)必须“导出”到 dist 文件夹。

部署就是:将服务器端代码推送到服务器并运行。并将客户端 dist 文件夹推送到某个 Assets 主机(CDN、nginx、另一个 Node ,甚至可能静态连接)

我的问题实际上是什么:

  1. 仅使用 broccoli/gulp/grunt 等工具是否可以实现此工作流程?我尝试过 connect-assets 但我不想遵守某些预定的文件夹路径。此外,cli 工具没有生成其他静态资源。也许我不理解这个工具。
  2. 我遵循的方法正确吗?

我添加了关于西兰花的 list 文件消耗的讨论: https://github.com/mjackson/broccoli-rev/issues/1#issuecomment-49076249

编辑:我忘了提及我使用 Bower,因此应该从任意位置(也可能是 URL)提取资源。

最佳答案

我认为angular-fullstack就是你想要的。即使您不使用它,它也几乎可以完成您正在寻找的所有功能。

您可能缺少的唯一一件事就是部署。它内置了对 Heroku 和 OpenShift 部署的支持。您可以使用类似 grunt-ssh 的内容或grunt-deploy适用于其他部署场景。

关于node.js - Node、connect/express 和 broccoli 的全栈 Assets 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24766730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com