問題タブ [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 を使用してブラウザーなしで実行できるように、モデル クラスについて主に考えています。
ここでテスト自体を書くことは問題ではありませんが、ブランチのセットアップ方法 (コンパイルしてすべてをつなぎ合わせ、依存関係を処理する方法) に統合するための適切な方法を用意するのは少し難しいようです。
javascript - でブランチローカルホストを実行しようとすると問題が発生します
作業ディレクトリとCoffeeScriptにBrunchをインストールしました。
インストールは正常に完了しました。
次のコマンドでローカルサーバーを実行しようとすると、次のようになります。
私は得る:
これの原因は何ですか?
javascript - Brunch.io でテストを実行する方法
Brunch.io によって生成されたアプリケーションでは、どのようにテストを実行するのでしょうか? コマンドラインから実行したいと思います。
たとえば、todosアプリケーションには非常に網羅的なテスト カバレッジがあります。しかし、その Cakefile は空です。「cake test」を実行しても何も起こりません。テストを実行するために必要なセットアップ作業(コマンドラインまたはブラウザのいずれか)について、誰かが私を正しい方向に向けることができますか?
coffeescript - 口ひげテンプレートをブランチで機能させる方法
Brunch で口ひげのテンプレートを使用したいと考えています。これは私のconfig.coffeeファイルです:
しかし、開始時に次のエラーが発生しましたbrunch watch
。
javascript - backbone.validation と Brunch.io の統合 (backbone.js フレームワーク)
http://thedersen.github.com/backbone.validation/と brunch.io を統合する方法backbone.validation.js をベンダー フォルダーに入れてみました。
エラー Uncaught TypeError: Object # has no method 'validate' を返します
それから私も試しました
そしてこれも
Uncaught RangeError: Maximum call stack size exceeded というエラーが発生します
したがって、この問題を解決するために助けが必要なため、どのトリックも機能しませんでした。
javascript - Sammy でコンパイル済みテンプレートを使用する
Sammy には、テンプレート言語を操作するための多くの機能があります。ただし、branchを使用する場合、サーバーはすべてのテンプレートをプリコンパイルします。これは非常に望ましいことです。
これらはすべて Java 関数として利用できますが、それらを Sammy で使用するにはどうすればよいですか?
javascript - brunch.io プロジェクトで外部の口ひげパーシャルを使用する
テンプレートに brunch.io と mustache を使用するプロジェクトに取り組んでいます。口ひげのパーシャルをメイン インデックス (「シェル」として機能) に追加して、コンテンツにロードしたいと考えています。独自の .mustache ファイルに口ひげのパーシャルを作成し、インデックス ページにタグを追加します (例: {{> somePartial}} ) が、不足しているように見えるのは、パーシャルをレンダリングする方法です...助けが必要です。
node.js - ブランチで動作する jade テンプレート言語を持っている人はいますか?
ブランチで動作する翡翠のテンプレートを持っている人はいますか? もしそうなら、どのように?
javascript - RequireJS モジュールのラッピングを無効にする方法をブランチします。
更新: AngularJSでブランチを 使用することに興味がある人のために、シード プロジェクトangular-brunch-seedをまとめました。
私はAngularJSでブランチを使用しています。AngularJSはモジュール システムを提供するため、commonJS / AMD を使用してファイルをインポートする必要はありません。ディレクトリ内のファイルに対してこの機能を無効にすることはできますか? 基本的に、ディレクトリの場合と同じように、ファイルを変更せずにコンパイルしたいと思います。/app
/vendor
したがって、好ましい結果は次のようになります。
両方js/app.js
とjs/vender.js
、それぞれのフォルダーからのコンパイル ファイルを含みますが、どちらもラップされません。
誰にもアイデアはありますか?
UPDATE @jcruzが回答したときから構文が変更されました。これが今これを行う方法です。
最後に、@jcruzの回答の修正版を使用しました。
デフォルトでは、「生の」ラッパーには、coffeescript の標準ラッパーは含まれていません。jsWrapper を次のように設定します。
ファイルは期待どおりにラップされます。
javascript - 既存の JavaScript プロジェクトを Grunt/Brunch プロジェクトにインポートする
Yeoman (www.yeoman.io) を発表する Paul Irish の講演を見て、継続的なビルド環境を実行するという概念に夢中になりました。Yeoman の招待を待つだけでは満足できないので、Grunt と Brunch を試してみました。どちらも簡単にインストールでき、最小限の労力で新しいプロジェクトを立ち上げて実行できます。
既存のプロジェクトをいずれかのプラットフォームに移行する方法がわかりません。私のプロジェクトでは、単一の名前空間を使用し、モジュールに 2 つの規則 (1 つはユーティリティ用にインスタンス化するため) を使用します。それぞれの規則は、インスタンスまたは名前空間にエクスポートする自己実行型の匿名関数にラップされています。
少なくとも 200 個のモジュールと、名前空間への単純なヘルパー関数のエクスポートが多数あります。そのため、コンソールを使用してこれらを grunt/branch プロジェクトで作成し、各モジュールを個別に手動でインポートするのはまったく効率的ではありません。さらに、少なくとも 15 種類のサードパーティ JavaScript ツールを使用しています。これらをどのように持ち込むかは私には明らかではありません。
大規模な既存のプロジェクトを取得し、最小限のリファクタリングと任意のサードパーティ ツールのサポートで Grunt/Brunch に移行する最も効率的な方法は何ですか?
更新: 2 つのうち、Brunch の方が対処しやすいことがわかりました。標準の「スケルトン」(つまり「テンプレート」) を使用する場合は、{変更を加えたいフォルダー内のコマンドラインから} 「ブランチ 新規 [プロジェクト名] --skeleton git://github.com/brunch を実行します。 /simple-js-skeleton.git") 純粋な JS の場合、実際には非常に応答性の高い新しいフォルダー構造が得られます。「app」(独自のコード) または「vendor」(サードパーティ) フォルダーにドロップしたものはすべて、ファイル編集時に (「ブランチ ウォッチ」を実行すると) 自動的に再コンパイルされます。
これは素晴らしいことです。ドキュメントによると、ベンダー スクリプトがコンパイルされ、Brunch config.coffee ファイル (JSON テキスト ファイル) から一緒に連結される順序を制御します。このファイルへの変更は効果がないように見えるため、他のプラグインを期待するプラグインからサードパーティの競合状態が発生します。
さらに、独自のコードを自動作成された「アプリ」フォルダーにドロップすると、コードの自動コンパイルされたリアルタイムの編集バージョンが得られます。しかし、アクセスできません。Brunch はウィンドウ オブジェクトを難読化するため、window.myNameSpace への最初の名前空間宣言が失敗し、その後の名前空間へのライブラリ呼び出しもすべて失敗します。これは、ドキュメントが見つからない Brunch のモジュール システムと関係があります。
名前空間クラスを「ベンダー」フォルダーに配置することでこれを解決しました。これにより、ウィンドウオブジェクトに確実にアタッチされました。ただし、競合状態が発生しています。私の名前空間は、すべてのモジュールで常に使用できるわけではありません。
問題は次のとおりです。
内部ライブラリと外部ライブラリをすべて Brunch プロジェクトにコピーしたら、それらを適切な順序で読み込むようにアプリを構成するにはどうすればよいでしょうか?