問題タブ [gulp-watch]
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.
google-analytics - oo.load が「未定義は関数ではありません」をスローする
私はrequirejs、parse.com、list.jsを使用してアプリを構築しており、それを提供するためにgulpを使用しています。ooCharts を使用して Google アナリティクス チャートを読み込もうとしています。
失敗したコードは、解析 (バックボーン、基本的に) ビューを介して DOM に注入されている html のスクリプト タグに書き込まれます。失敗したコードは次のとおりです。
私の実際のコードでは、API キーと ID 番号がプラグインされています。
まず、まったくwindow.onload
点火しません。次に、oo.load()
実行すると、コンソール エラーは「Uncaught TypeError: undefined is not a function」であり、oocharts.js の 188 行目を指します。oo
(oocharts.js の関数にアクセスするために指定されたオブジェクト) はグローバルに利用可能であり、関数が実行される前に利用できるので、ビューは間違いなくアクセスできますoo.load()
また、Google 埋め込み API を使用して分析からグラフを読み込もうとしたときに、同様の問題に遭遇しました。誰でもこれで私を助けることができますか?既存のコード ベース (大部分は私が書いたものではありません) が google アナリティクス/oocharts で動作するのを妨げる何らかの競合があると思いますが、私の人生では、どこにあるのかわかりません。
git - git ブランチが変更されたときに gulp ウォッチを再起動する方法
タスクを使用してgulpビルド ファイルを使用すると便利ですwatch
。私の場合、php
ディレクトリの変更と変更時のリント/コピー、連結とコピーを行うJSディレクトリ、および変更時にCSSにコンパイルするSASSを監視するタスクがあります。
watch タスクを実行している別の git ブランチをチェックアウトすると、文字通り何百ものファイルが変更されるため、非常に予想外の事態になります。解決可能な問題の 1 つは、watch
一般的なタスクをトリガーすることです。たとえば、PHP のタスクは、変更されたものだけでなく、すべての PHP ファイルを単純に再リントしてコピーします。したがって、50 個のファイルが変更されると、スタック全体が 50 回再リントされます。JS(依存関係のため)およびSASS(コンパスを実行し、すべてのファイルが変更されたと見なされるため)についても同様です。
したがって、現在の私の解決策は、watch
タスク( Sublime Gulpを使用して実行されている)を強制終了し、新しいブランチをチェックアウトしてから再実行することです。プラグインを変更するか、プラグインの使用を停止する必要がある解決策があると思います-ターミナルのバックグラウンドでタスクを実行し、出力を表示できるようにするためSublime Gulp
の簡単なショートカットがあれば問題ありませんが、watch
それを私に強制させないでください。
私は git にフックがあることを知っているので、別の解決策として、チェックアウト フックに監視タスクへの一時的な停止標識として機能するファイルを生成させるか、または同様のものを作成させることを想像しています。
誰もが使用して同様の問題を経験しましたがwatch
、どのように解決することをお勧めしますか?
unit-testing - ブラウザ化されたカルマ/ジャスミン単体テストで gulp.watch を使用するとエラーで失敗する
gulp.watchでこのエラーが発生しています。基本的に、テスト ユニットがエラーで失敗すると、watch コマンドがハングします。つまり、ちょうど 1 回実行され、watch はイベントを再度トリガーしません。
所定の回避策は、gulp-plumberを使用してエラーによる終了を防ぐことです。ただし、これはストリームでのみ機能します。browserify と一緒にカルマ テストを実行している場合、私の構成は次のようになります (そして、ストリームをこの不良少年にフックして配管工を有効にする方法を特定できません)。
これをgulp-plumberで動作させる方法について、監視または推奨事項を使用してテストユニットを実行するための回避策はありますか?
node.js - ガルプ保存の問題
主に私のsassファイルを管理するために、長い間gulpを使用してきました。今日まで、すべてが正常に機能していましたが、最近までタスクは実行されていましたが、その出力は保存/書き込みされていませんでした。
監視されている scss ファイルがあり、それを変更する必要がある場合は、gulp-ruby-sass (gulp-sass でも同じ問題) を介して実行され、指定されたディレクトリに吐き出されますが、これは発生していません。実行したことを知らせる通知を受け取りましたが、何も出力されず、何らかの奇妙な理由で PHPStorm ウィンドウから iTerm に切り替えると、魔法のように表示されます。
他の誰かがこれを経験しましたか?何が悪いのかわからないので、文字通り髪を引き裂いています。
乾杯。
javascript - ファイルを別の場所に2回コピーするgulp watch
昨日から、私のゴクゴク時計タスクで奇妙なことが起こり始めました。Afaik、私がしたことは宛先を変更することだけでしたが、以下に投稿された単純な gulpfile で再現できます。
次のようなファイル構造があります。
変更があるたびに、ビルドフォルダーに反映させたいのですが、gulp watch:stuff
以下を実行すると、次の出力が得られます。
- その余分な
build/stuff/file.html
ファイルはどこから来たのですか? - 時計の機能がおかしいのは何ですか?
gulpファイル
gulp(3.8.8)、gulp-watch(0.7.0)を使用