标签: brunch

OS X Mountain Lion更新后的Git克隆错误

我刚刚将我的MBP更新到OSX 10.8并尝试使用brunch.io开始一个新项目,默认情况下使用coffeescript,我更喜欢使用javascript,所以我需要克隆简单的js骨架.所以像这样:

brunch new <someprojectname> --skeleton https://github.com/brunch/simple-js-skeleton.git
Run Code Online (Sandbox Code Playgroud)

这是我之前使用过的,它运行良好.但今天我收到以下错误:

error: Git clone error: /bin/sh: git: command not found
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解决这个问题......

github osx-mountain-lion brunch

23
推荐指数
1
解决办法
6170
查看次数

如何向Phoenix项目添加CSS/JS依赖项?

我正在尝试将jquery添加到Phoenix项目中.

当我在头标记的app.html.eex中链接到jquery,如下所示:

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

...有用.

但是,我不想要Web依赖.我想在应用程序中使用jquery.

我已将jquery.min.js复制到web/static/js目录.并在app.html.eex中引用它,如下所示:

<script src="<%= static_path(@conn, "/js/jquery.min.js") %>"></script>
Run Code Online (Sandbox Code Playgroud)

它不起作用.

将jquery.min.js复制到app.js也不起作用.

有趣的是,当我直接在app.html.eex中将脚本标记放在JS之间时,它可以工作.

只有来自云的直接链接和/或将JS放在app.html.eex中的脚本标记之间才能正常工作?

更新:

早午餐正在将JS复制到priv目录中的app.js. 但是应用程序似乎无法访问它.

我究竟做错了什么.

jquery elixir brunch phoenix-framework

12
推荐指数
3
解决办法
7215
查看次数

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

更新: 对于任何有兴趣使用早午餐AngularJS的人,我已经组建了一个种子项目角 - 早午餐种子

我正在使用BrunchAngularJS.AngularJS提供了一个模块系统,因此使用commonJS/AMD导入文件的需求是多余的.是否可以为目录中的文件禁用此功能/app?从本质上讲,我希望它能像/vendor目录一样不加改变地编译文件.

所以首选的是:

  joinTo:
    'js/app.js': /^app/
    'js/vendor.js': /^vendor/
Run Code Online (Sandbox Code Playgroud)

使用js/app.jsjs/vender.js包含每个相应文件夹的编译文件,但都不包装.

有没有人有任何想法?

更新 语法已从@jcruz回答时更改.现在就是这样做的方法.

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

exports.config =
  modules:
    definition: false
    wrapper: (path, data) ->
      """
(function() {
  'use strict';
  #{data}
}).call(this);\n\n
      """
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'js/app.js': /^app/
        'js/vendor.js': /^vendor/
Run Code Online (Sandbox Code Playgroud)

默认情况下,"原始"包装器不包含coffeescript的标准包装器.通过将jsWrapper设置为:

wrapper: (path, data) ->
  """
(function() {
  'use strict';
  #{data}
}).call(this);
  """
Run Code Online (Sandbox Code Playgroud)

文件将按预期包装.

javascript coffeescript brunch angularjs

11
推荐指数
2
解决办法
5661
查看次数

使用Yeoman/Brunch工具和混合Django/Backbone应用程序?

我正在构建一个混合Web应用程序,后端是Django,前端是Backbone.

结构如下:我在Django模板中生成所有HTML,用于request.is_ajax决定返回哪些模板,并根据需要使用Backbone拉入HTML(我这样做是因为我想支持非JavaScript用户).

无论如何,我的问题是这个.随着我的JavaScript代码变得越来越复杂,我希望能够自动执行以下操作:

  • 异步JavaScript加载
  • 连接和缩小CSS文件
  • 连接和缩小JavaScript文件
  • JS-掉毛

我不太担心图像优化或包管理.这有可能与我有的设置?目前它是标准的Django应用程序:

/media
  /js
    main.js <-- Backbone code is in here
    /plugins
      backbone.js
      underscore.js
  /css
    main.css 
    results.css
  /img
/myapp
  admin.py
  models.py
  views.py
/templates
  /myapp
    index.html <-- references to all JS and CSS files here
Run Code Online (Sandbox Code Playgroud)

我不确定我是否应该使用Yeoman(或只是咕噜声)或早午餐,或者是否有更简单的方法.无论我使用什么,我不确定是否可以将其放入js目录,或者模板的位置是否会使事情变得复杂.

目前我知道如何使用require.js异步加载JS,但我不知道如何连接,lint等 - 因此寻找一个工具.也许我应该写一个shell脚本:)

javascript django brunch gruntjs yeoman

11
推荐指数
2
解决办法
1483
查看次数

Bootstrap 3.0 with Brunch的字体文件

我想包含Bootstrap 3.0的字形文件(aka,glyphicons-halflings-regular.woff,.ttf,.svg).Bower成功地将它们拉下来,我已将它们添加到我的应用程序中bower.json文件的"覆盖"部分:

"bootstrap": {
  "main": [
    "dist/js/bootstrap.js",
    "dist/css/bootstrap.css",
    "dist/fonts/glyphicons-halflings-regular.woff",
    "dist/fonts/glyphicons-halflings-regular.ttf",
    "dist/fonts/glyphicons-halflings-regular.svg"   
  ],
Run Code Online (Sandbox Code Playgroud)

但据我所知,这没有任何效果.我可能需要强制更新bower,因为我没有对Bootstrap进行版本更新,因为我添加了对字体文件的引用.除此之外,我对如何让Brunch将这些文件放入./public/fonts目录感到茫然.

brunch

11
推荐指数
1
解决办法
2902
查看次数

从不同的目录运行早午餐并使用相对路径

我们希望在多个项目中使用相同的构建系统.我有一个工作早午餐配置文件,我想放在一个git子模块中,以便可以在多个项目中引用该子模块,并且更改很容易传播(比复制和粘贴更不易碎,并设置brunch-config.js的权威来源) .

将brunch-config.js放在git子模块中会导致我的文件夹结构如下所示:

WebApp // git root
|---Brunch-Build-System // git submodule
|   |---brunch-config.js
|---node_modules
|---source // all the source code I want compiled
Run Code Online (Sandbox Code Playgroud)

早午餐运行假设brunch-config.js将与正在编译的源相同或更高.在此设置中,情况并非如此.我已经尝试修改我的brunch-config.js使用相对路径无济于事.这是我files目前的Brunch配置块,没有任何相对路径尝试:

files: {
  javascripts: {
    joinTo: {
      'js/lib.js': /^(?!source\/)/
    },
    entryPoints: {
      'source/scripts/app.jsx': {
        'js/app.js': /^source\//
      },
    }
  },
  stylesheets: {joinTo: 'css/core.css'}
}
Run Code Online (Sandbox Code Playgroud)

如果上面给出了所需的文件夹结构,我如何修改它以使用相对路径?这甚至可能吗?

javascript git git-submodules brunch

11
推荐指数
1
解决办法
524
查看次数

BrowserSync与分析脚本导致错误

我们的HTML中包含Google Analytics和Azure Application Insights分析脚本,包括Google Analytics.他们在<script>标签中<head>.当我们使用Browsersync观看时,它们会导致错误,特别是浏览器同步早午餐,因为我们使用早午餐作为我们的构建系统.但是,在观看时,此错误会两次打印到控制台(有趣的是,我们有两个分析标记):

XMLHttpRequest无法加载http:// localhost:3000/browser-sync/socket.io /?EIO = 3&transport = polling&t = 1494358571902-4&sid = rhGMlOFa_MbRrYbLAAAD.预检响应中的Access-Control-Allow-Headers不允许请求标头字段x-ms-request-id.

并且每隔几秒重复设置此错误:

选项http:// localhost:3000/browser-sync/socket.io /?EIO = 3&transport = polling&t = 1494358572782-5 400(错误请求)

选项http:// localhost:3000/browser-sync/socket.io /?EIO = 3&transport = polling&t = 1494358572782-5 400(错误请求)

XMLHttpRequest无法加载http:// localhost:3000/browser-sync/socket.io /?EIO = 3&transport = polling&t = 1494358572782-5.预检的响应具有无效的HTTP状态代码400

我相当肯定这些分析脚本会导致问题,因为使用uBlock Origin阻止它们会使它工作得很好.

我想知道在注入Browsersync标签之前是否与这些脚本标签有关(紧接在<body>标签内部,请参阅文档).但将它们移动到<body>标记的末尾并没有解决问题.

造成这种情况的原因是什么?如何减轻这种影响?

javascript analytics google-analytics brunch browser-sync

10
推荐指数
1
解决办法
305
查看次数

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

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

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

javascript unit-testing coffeescript brunch

9
推荐指数
1
解决办法
2238
查看次数

使用Brunch控制脚本连接的顺序

在使用Brunch时控制脚本/样式表连接顺序的最佳实践是什么?

我的问题的一个简单版本涉及使用Twitter Bootstrap的应用程序,它需要jQuery.Bootstrap要求首先加载jQuery.

最初我在我的供应商/目录中有以下内容: jquery-1.9.1.min.jsbootstrap.min.js

这是按字母顺序将Brunch连接到我的vendor.js文件中,即首先是bootstrap.

为了解决这个问题,我在每个脚本的开头添加了一个数字,以指定我希望它们连接的顺序 - 1-jquery-1.9.1.min.js2-bootstrap.min.js

我无法找到有关如何更优雅地做到这一点的信息,但我无法想象这是实现这一目标的最佳方式.谢谢你的帮助!

brunch

9
推荐指数
1
解决办法
3404
查看次数

在Brunch中分离app和vendor css

My Brunch模板将我的所有代码编译成app.js所有第三方依赖项vendor.js(一种非常标准的方法).我想用CSS做同样的事情它曾经工作,但当我转向使用Bower时,一些东西停止工作,我现在得到以下错误:

错误:无法加载config /path-to-root/config.coffee.SyntaxError:unexpected {at Object.exports.loadConfig(/usr/local/share/npm/lib/node_modules/brunch/lib/helpers.js:448:15)

从配置文件(config.cofee)看起来像这样:

files:
    javascripts:
      joinTo: 
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^(bower_components|vendor)/
        'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/

    stylesheets:
      joinTo:
        'stylesheets/app.css': /^app/
        'stylesheets/vendor.css': /^(bower_components|vendor)/
Run Code Online (Sandbox Code Playgroud)

如果我只是去掉样式表的两行并将这一行放在它的位置它可以正常工作:

'stylesheets/vendor.css':/ ^(app | bower_components | vendor)/

我一直与此生活在一起,但这导致了越来越多的问题,我想让它排序.任何帮助将不胜感激.

如果问题出现......我正在使用的早午餐版本是1.7.6.

brunch

9
推荐指数
1
解决办法
3858
查看次数