質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

Q&A

解決済

2回答

927閲覧

gulpを使ったcssとjsへのtimestampの付与について教えてください!!

KotaroImai

総合スコア11

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

0グッド

0クリップ

投稿2019/02/08 03:53

編集2019/02/08 04:42

gulpを使って、cssとjsにtimestampを付与してキャッシュのクリアをしようと考えています。
以下のサイトの通りにやってみてですが、実行のためにyarn gulpをしたらエラーが出てしまいうまくいきませんでした。。。
https://qiita.com/alice37th/items/535c860a7da35c9c04ff

エラーは次のようになっています。

➜ lp git:(work/update-timestamp) ✗ yarn gulp yarn run v1.12.3 $ /Users/name/lp/node_modules/.bin/gulp /Users/name/lp/gulpfile.js:8 gulp.task('cache', function () { ^ ReferenceError: gulp is not defined at Object.<anonymous> (/Users/name/lp/gulpfile.js:8:1) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Liftoff.handleArguments (/Users/name/lp/node_modules/gulp/bin/gulp.js:116:3) at Liftoff.execute (/Users/name/lp/node_modules/liftoff/index.js:203:12) error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

なお、gulpfile.jsの一番下に

const crypto = require('crypto'); const hash = crypto.randomBytes(8).toString('hex'); gulp.task('cache', function () { return gulp.src([ 'dist/index.html', 'dist/**/*.html' ]) .pipe($.replace('.css"','.css?' + hash + '"')) .pipe($.replace('.js"','.js?' + hash + '"')) .pipe($.replace('.jpg"','.jpg?' + hash + '"')) .pipe($.replace('.png"','.png?' + hash + '"')) .pipe($.replace('.gif"','.gif?' + hash + '"')) .pipe(gulp.dest(dir.dist)) });

を貼り付けるたのち、yarn gulpをすると正常に動くのですがtimestampの付与はできていませんでした。

解決のために必要な情報がわからなかったので、不足分はご指摘いただければすぐに追加させていただきます。
どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/02/08 04:29

PHPはどのように本件に関係しているのでしょうか
guest

回答2

0

ベストアンサー

gulp-load-pluginsを使った書き方をしているので、
使わない書き方をすると動くと思います。

javascript

1gulp.task('cache', function(){ 2 gulp.src(['./**/*.html']) 3 .pipe(replace('.css"','.css?' + hash + '"')) 4 .pipe(replace('.css"','.css?' + hash + '"')) 5 .pipe(replace('.js"','.js?' + hash + '"')) 6 .pipe(replace('.jpg"','.jpg?' + hash + '"')) 7 .pipe(replace('.png"','.png?' + hash + '"')) 8 .pipe(replace('.gif"','.gif?' + hash + '"')) 9 .pipe(gulp.dest('./')); 10});

参考
https://www.npmjs.com/package/gulp-replace

投稿2019/03/01 08:02

gagegogi

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

2つめのコードが正常に動く理由がわかりませんが、
エラー内容はgulpが定義されていませんよなので、

gulpfile.jsの冒頭に

js

1const gulp = require('gulp')

からのyarn gulp cache
で動きませんか?

投稿2019/02/14 12:38

yu-smc

総合スコア610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問