首先我必须承认我是一个结点新手。我一直在使用ASP。。NET, PHP, Django。不管怎样,我给node带来了新鲜空气。这个问题也不是严格意义上的节点问题,但我需要一个节点特定的答案。
我有一个快速服务器和角前端。服务器端模板是swig的,目前只用于错误页面和索引页面。大多数情况下,有棱角的模板将构成大部分的首页内容。
我正在努力,如果只是在决定如何做到这一点,是为资产管道获得一个有效的工作流程。服务器端模板必须能够在开发和测试期间注入资产的精华。测试期间的客户端模板也是如此。基本上,使用express的静态中间件运行应该是一个不需要任何配置的选项(可能在服务器端资产中使用一些助手)。因此git clone -> grunt -> viola
然而,在登台和生产期间,我希望服务器端文件保持不变。模板助手可能会解析一个清单文件,表明缓存被破坏的链接(CDN路径也可能)。如何从逻辑资产包名称到生产就绪资产的链接对我来说是一个谜,同时保持开发透明。
客户端模板可能会被缩小、连接、注入或其他方式,因为它将被保存到某个dist文件夹以供上传。重要的是,整个依赖树(图像、字体、css、js)必须被"导出"到dist文件夹。
部署将是:将服务器端代码推送到服务器并运行。并将客户端dist文件夹推送到某些资产主机(CDN, nginx,其他节点,甚至可能连接静态)
我的问题实际上是:
- 这个工作流程是可能的工具,如西兰花/gulp/grunt单独?我试过连接资产,但我不想遵循一些预定的文件夹路径。而且cli工具不能生成其他静态资产。也许我没有理解这个工具。
- 我是否遵循正确的方法?
我添加了一个关于西兰花的清单文件消耗的讨论:https://github.com/mjackson/broccoli-rev/issues/1 issuecomment - 49076249
编辑:我忘了说我使用bower,所以资产应该从任意(url也可能)位置拉。
我认为angular-fullstack是你想要的。即使你不使用它,它也能完成你想要的几乎所有功能。
唯一可能缺少的是部署。它内置了对Heroku和OpenShift部署的支持。对于其他部署场景,您可以使用诸如grunt-ssh或grunt-deploy之类的东西。