问题标签 [brunch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1192 浏览

unit-testing - 为Brunch with Coffee 编写和运行单元测试的最佳方式

我正在使用Brunch with Coffee开发一个应用程序。

我如何为它编写单元测试?我目前主要考虑模型类,所以它可以在没有浏览器的情况下运行,使用 NodeJS。

编写测试本身不是这里的问题,但是有一个很好的方法来集成 brunch 的设置方式(它将所有东西编译和拼接在一起并处理依赖关系的方式)似乎有点棘手。

0 投票
1 回答
884 浏览

javascript - 尝试运行早午餐 localhost 的问题

我已将 Brunch 和 Coffee Script 安装到我的工作目录中。

安装顺利。

当我尝试使用以下命令运行本地服务器时:

我得到:

这有什么原因吗?

0 投票
2 回答
2247 浏览

javascript - 在 Brunch.io 中,我们如何运行测试

在一个由 Brunch.io 生成的应用程序中,我们如何运行测试?我想通过命令行运行它们。

例如,todos应用程序具有相当详尽的测试覆盖率。但是它的 Cakefile 是空的。当我运行“蛋糕测试”时,它什么也没做。有人可以为我指出运行测试所需的设置工作的正确方向(在命令行或浏览器上)吗?

0 投票
1 回答
933 浏览

coffeescript - 如何让小胡子模板在早午餐中工作

我想在早午餐中使用小胡子模板。这是我的 config.coffee 文件:

但是启动时出现以下错误brunch watch

0 投票
2 回答
852 浏览

javascript - 与 brunch.io(backbone.js 框架)的骨干.验证集成

如何将http://thedersen.github.com/backbone.validation/与 brunch.io 集成我尝试将骨干网.validation.js 放在供应商文件夹中并

给出错误 Uncaught TypeError: Object # has no method 'validate'

然后我也试过了

这也是

给出错误 Uncaught RangeError: Maximum call stack size exceeded

所以没有一个技巧对我有用,我需要帮助解决这个问题。

0 投票
0 回答
126 浏览

javascript - 在 Sammy 中使用预编译的模板

Sammy 有很多使用模板语言的功能。但是,在使用brunch时,服务器会为我预编译所有模板,这是非常需要的。

所以它们都可以作为 java 函数使用,我如何将它们与 Sammy 一起使用?

0 投票
1 回答
468 浏览

javascript - 在 brunch.io 项目中使用外部小胡子部分

我正在开发一个使用 brunch.io 和 mustache 进行模板的项目。我想将小胡子部分添加到主索引(用作“外壳”)以加载我的内容。我在他们自己的 .mustache 文件中创建了小胡子部分,然后在索引页面上添加了标签(即: {{> somePartial}} )但我似乎缺少的是如何让部分呈现......这就是什么我需要帮助。

0 投票
2 回答
878 浏览

node.js - 有没有人在早午餐中使用玉模板语言?

有没有人用早午餐的玉器模板?如果有怎么办?

0 投票
3 回答
5718 浏览

javascript - 早午餐如何禁用 RequireJS 模块包装

更新: 对于任何有兴趣将早午餐AngularJS一起使用的人,我已经整理了一个种子项目angular-brunch-seed

我正在使用带有AngularJS的早午餐AngularJS提供了一个模块系统,因此使用 commonJS / AMD 导入文件的需要是多余的。是否可以对目录中的文件禁用此功能?本质上,我希望它像对目录一样编译未更改的文件。/app/vendor

所以首选的结果是:

两者都包含js/app.jsjs/vender.js包含来自每个文件夹的编译文件,但都没有包装。

有没有人有任何想法?

更新 语法从@jcruz回答时发生了变化。这是现在执行此操作的方法。

最后,我使用了@jcruz 答案的修改版本。

默认情况下,“原始”包装器不包括咖啡脚本的标准包装器。通过将 jsWrapper 设置为:

文件将按预期包装。

0 投票
2 回答
4217 浏览

javascript - 将现有 JavaScript 项目导入 Grunt/Brunch 项目

我观看了 Paul Irish 宣布 Yeoman (www.yeoman.io) 的演讲,我迷上了运行连续构建环境的概念。不满足于等待 Yeoman 邀请,我尝试了 Grunt 和 Brunch。两者都易于安装,我可以轻松启动和运行新项目。

我不明白如何将现有项目迁移到任一平台。我的项目使用单个命名空间并为模块使用两种约定(一个用于实例化另一个用于实用程序),每个约定都包含在导出到实例或命名空间的自执行匿名函数中。

我至少有 200 个模块和更多简单的辅助函数导出到命名空间;因此,使用控制台在 grunt/brunch 项目中创建这些,然后单独手动导入每个模块,这根本不是有效的。此外,我使用了至少 15 种不同的 3rd-party JavaScript 工具。我不清楚如何把这些带进来。

以最少的重构量和对任意 3rd 方工具的支持,将现有的大型项目迁移到 Grunt/Brunch 的最有效方法是什么?

更新:在两者中,我发现早午餐更容易应付。如果您使用股票“骨架”(即“模板”-从命令行{在您希望更改发生的文件夹中}执行“brunch new [project_name] --skeleton git://github.com/brunch /simple-js-skeleton.git") 对于纯 JS,你会得到一个新的文件夹结构,它实际上是非常敏感的。您放入“app”(您自己的代码)或“vendor”(第 3 方)文件夹的任何内容都会在文件编辑时自动为您重新编译(当您运行“brunch watch”时)。

这很棒,除了。根据文档,您可以控制从 Brunch config.coffee 文件(JSON 文本文件)编译和连接供应商脚本的顺序。对此文件的更改似乎没有任何效果,因此您最终会遇到来自期望其他插件的插件的第 3 方竞争条件。

此外,当您将自己的代码放入自动创建的“app”文件夹中时,您确实会得到一个自动编译的、实时的、随编辑的代码版本;但它无法访问。Brunch 混淆了 window 对象,因此我对 window.myNameSpace 的初始命名空间声明失败,并且对命名空间的所有后续库调用也失败。这与早午餐的模块系统有关,我找不到任何文档。

我通过将命名空间类放在“供应商”文件夹中解决了这个问题,确保它附加到窗口对象;但是,现在有一个竞争条件:我的命名空间并不总是可用于我的所有模块。

现在的问题是这样的:

将所有内部和外部库复制到 Brunch 项目后,如何配置应用程序以合理的顺序加载它们?