问题标签 [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.
unit-testing - 为Brunch with Coffee 编写和运行单元测试的最佳方式
我正在使用Brunch with Coffee开发一个应用程序。
我如何为它编写单元测试?我目前主要考虑模型类,所以它可以在没有浏览器的情况下运行,使用 NodeJS。
编写测试本身不是这里的问题,但是有一个很好的方法来集成 brunch 的设置方式(它将所有东西编译和拼接在一起并处理依赖关系的方式)似乎有点棘手。
javascript - 尝试运行早午餐 localhost 的问题
我已将 Brunch 和 Coffee Script 安装到我的工作目录中。
安装顺利。
当我尝试使用以下命令运行本地服务器时:
我得到:
这有什么原因吗?
javascript - 在 Brunch.io 中,我们如何运行测试
在一个由 Brunch.io 生成的应用程序中,我们如何运行测试?我想通过命令行运行它们。
例如,todos应用程序具有相当详尽的测试覆盖率。但是它的 Cakefile 是空的。当我运行“蛋糕测试”时,它什么也没做。有人可以为我指出运行测试所需的设置工作的正确方向(在命令行或浏览器上)吗?
coffeescript - 如何让小胡子模板在早午餐中工作
我想在早午餐中使用小胡子模板。这是我的 config.coffee 文件:
但是启动时出现以下错误brunch watch
:
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
所以没有一个技巧对我有用,我需要帮助解决这个问题。
javascript - 在 Sammy 中使用预编译的模板
Sammy 有很多使用模板语言的功能。但是,在使用brunch时,服务器会为我预编译所有模板,这是非常需要的。
所以它们都可以作为 java 函数使用,我如何将它们与 Sammy 一起使用?
javascript - 在 brunch.io 项目中使用外部小胡子部分
我正在开发一个使用 brunch.io 和 mustache 进行模板的项目。我想将小胡子部分添加到主索引(用作“外壳”)以加载我的内容。我在他们自己的 .mustache 文件中创建了小胡子部分,然后在索引页面上添加了标签(即: {{> somePartial}} )但我似乎缺少的是如何让部分呈现......这就是什么我需要帮助。
node.js - 有没有人在早午餐中使用玉模板语言?
有没有人用早午餐的玉器模板?如果有怎么办?
javascript - 早午餐如何禁用 RequireJS 模块包装
更新: 对于任何有兴趣将早午餐与AngularJS一起使用的人,我已经整理了一个种子项目angular-brunch-seed
我正在使用带有AngularJS的早午餐。AngularJS提供了一个模块系统,因此使用 commonJS / AMD 导入文件的需要是多余的。是否可以对目录中的文件禁用此功能?本质上,我希望它像对目录一样编译未更改的文件。/app
/vendor
所以首选的结果是:
两者都包含js/app.js
并js/vender.js
包含来自每个文件夹的编译文件,但都没有包装。
有没有人有任何想法?
更新 语法从@jcruz回答时发生了变化。这是现在执行此操作的方法。
最后,我使用了@jcruz 答案的修改版本。
默认情况下,“原始”包装器不包括咖啡脚本的标准包装器。通过将 jsWrapper 设置为:
文件将按预期包装。
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 项目后,如何配置应用程序以合理的顺序加载它们?