coffeescript、jade、stylus -> js、css 资产管理器?节点.js

Posted

技术标签:

【中文标题】coffeescript、jade、stylus -> js、css 资产管理器?节点.js【英文标题】:coffeescript, jade, stylus -> js, css asset manager? node.js 【发布时间】:2012-02-18 13:07:42 【问题描述】:

我从事咖啡脚本、玉石和手写笔的工作。

我的应用程序服务于两个不同的“单页应用程序”。对于这些应用程序,我在初始有效负载中提供所有资产。

我想将所有coffeescript文件和jade模板分组、编译和连接成一个js资产,并将stylus文件组合成一个css资产,用于每个“单页应用”。

然后我可以不理会我的/public/js/public/css,它们将始终拥有两个不同应用程序的当前 js 和 css 资产文件。

以前有人设置过这样的工作流程吗?有什么想法可以做到这一点吗?

谢谢!!

编辑:http://blog.fogcreek.com/the-trello-tech-stack/

通过更多研究,我发现这里写的过程,但他们没有说明他们是如何做到的。

【问题讨论】:

同一个问题真的需要提交3次吗? 【参考方案1】:

我推荐使用Grunt,通过 Grunt,您可以设置各种工作流和任务。我个人使用mean.io 作为我大部分项目的样板。他们有一个非常好的 Grunt 文件,其中包含使用assetmanager 将 css 和 js 连接和缩小到单个文件所需的大多数任务。 Mean.io 不使用玉石或手写笔,但您可以轻松添加那些 Grunt 任务。

【讨论】:

【参考方案2】:

您可以使用 connect-assets 管道将已编译的 Jade 资产拉入您的 javascript,方法是使它们成为使用它们的 CoffeeScript 文件的依赖项。

我有一篇详细的博文 -> Server side compiling of Jade templates with connect-assets.

【讨论】:

【参考方案3】:

我为此编写了一个节点应用程序。这很简单,但它对我有用。代码非常简单(72 行),您可以随意调整它。每当您保存咖啡、手写笔或玉文件时,它都会转换为 js、css 或 html。它不处理文件删除或任何其他花哨的东西。它并不完美,但至少我确切地知道它是如何工作的,这使得调试变得容易。

https://github.com/Gijsjan/Template-Engine-Watcher

【讨论】:

记录一下:不久之后,我开始使用 Grunt 来管理这个和许多其他任务!【参考方案4】:

我写了一个开源项目(MIT license)来解决这个问题:

Giles - https://github.com/255BITS/giles

Giles 为您构建静态资源(Jade、Stylus、CoffeeScript)。它可以独立运行、作为 Web 服务器或作为连接模块运行。您可以轻松地向 Giles 添加对其他语言的支持(参见 github 页面)

【讨论】:

【参考方案5】:

你可以用 JS 很简单地用 Express + Stitch / StitchUp 做到这一点

示例配置: https://gist.github.com/1094412

另一种选择也是交错:

http://www.distractable.net/coding/javascript-builds-using-interleave

手写笔中间件的选项应该为你的 CSS 排序: http://learnboost.github.com/stylus/docs/middleware.html

这里还有很多选择:

http://toolbox.no.de/search?q=asset

【讨论】:

@fancy 考虑到这是唯一的答案,而且几乎可以解决您的问题,为什么不将其标记为已接受?

以上是关于coffeescript、jade、stylus -> js、css 资产管理器?节点.js的主要内容,如果未能解决你的问题,请参考以下文章

CoffeeScript 返回函数内的函数

mac电脑开发者实用工具推荐

Vue篇之vue 使用Jade模板写html

Webstorm功能详解及插件推荐

Webstorm常用插件和快捷键

VSCode,十分出色的IDE开发工具