問題タブ [gruntjs]

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 投票する
6 に答える
69720 参照

javascript - Grunt Task でコマンドを実行する

プロジェクトでGrunt (JavaScript プロジェクト用のタスクベースのコマンド ライン ビルド ツール) を使用しています。カスタム タグを作成しましたが、それにコマンドを実行できるかどうか疑問に思っています。

明確にするために、私はクロージャーテンプレートを使用しようとしています。「タスク」はjarファイルを呼び出して、Soyファイルをjavascriptファイルにプリコンパイルする必要があります。

このjarをコマンドラインから実行していますが、タスクとして設定したいです。

0 投票する
3 に答える
2952 参照

javascript - GruntJs'grunt'cmdはVisualStudioを開きますか?

私は問題なくいくつかの個人的なプロジェクトでGruntJsを使用することができました。仕事中のプロジェクトで使用することにしました。

私は実行します:grunt init:gruntfileそしてそれはgruntfileとpackage.jsonファイルをうまく作成します。

問題は、grunt cmdなどを実行するgruntgrunt lint、すぐにVisual Studioが開き、gruntfileが開くことです。実際には何も起こりません。 例

私が間違っていることについて何か考えはありますか?

0 投票する
3 に答える
1178 参照

javascript - GruntJs を使用したスクリプトの縮小

GruntJsを適切に連結/縮小できるように見えるいくつかのjsファイルがあります。

それぞれを個別に行うと、うまく機能します。

個別に結合した場合、結合されたファイルだけを縮小しようとしても機能しません。

エラーは次のとおりです。
ここに画像の説明を入力

これを修正する方法についてのアイデアはありますか? それとも何が原因でしょうか?

0 投票する
1 に答える
13138 参照

regex - grunt concatの1つを除くすべてのファイルを一致させる方法は?

grunt を使用して js ファイルを連結および最小化しています。このconcat部分には次の構成を使用します。

フォルダー内のすべてのファイルに一致しjsますが、無視する必要がありmodernizr.jsます。これを行う方法はありますか? それを行うにはパターンマッチングブードゥーが必要だと思いますが、方法がわかりません。

前もって感謝します。

0 投票する
1 に答える
706 参照

node.js - 代替構成ファイルの場所でGruntを実行する

職長の下でGruntを実行しようとしています。理想的には、gruntfileを「。」ではなく./buildに格納したいと思います。

また、「grunt:cd build&&gruntwatch」を介してフォアマンでそれを試してみました。

それを機能させることができないようです....これを行う方法はありますか?

0 投票する
7 に答える
26723 参照

javascript - Grunt タスクで node-inspector を使用する

アプリケーションのデバッグにGruntでnode-inspectorを使用した人はいますか? そうでない場合、Grunt ベースのアプリのデバッグ ツールをお勧めできますか?

私はサーバー側アプリ用にnodejsを使用しており、 Gruntで個別のタスクを使用しています(これは、ユーザーがタスクを個別に実行できるためです)。

0 投票する
2 に答える
4217 参照

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 プロジェクトにコピーしたら、それらを適切な順序で読み込むようにアプリを構成するにはどうすればよいでしょうか?

0 投票する
3 に答える
5414 参照

javascript - Express.js での JSHint の使用 / 'delete' (予約語)

Node.js の上に Express.js を使用して RESTful API を作成し、grunt を使用してファイルを監視し、JavaScript を自動的にリントします。

delete 関数を使用するたびに、JSHint によってフラグが付けられます。

「削除」が予約語であることは理解していますが、Express.js によって選択されています。Express.js アプリをリントするためのより良い方法はありますか? このチェックをオフにする方法はありますか??

0 投票する
1 に答える
1648 参照

jquery - grunt.jsで、「jquery」と「blockui」のuglify中に、「予期しない文字 `?`」というエラーが発生します。

gruntでjqueryファイルとblockuiファイル(uglify.jsを使用)を「最小化」すると、次のエラーが発生します

どうすればこれを修正できますか?これは既知の問題ですか?

事前にThx。