[解決済み] これはどういうことかというと TypeError: dest.on は関数ではありません。
質問
私は初心者で、最新のウェブデブのワークフローについてのチュートリアルに沿っています。コンソールに次のようなエラーメッセージが表示されます。
TypeError: dest.on is not a function
ここに関連する質問と回答があることは知っています。しかし、私はそれらを理解することはできません。なぜなら、"dest.on"が何に関連していて、何をするのかが分からないからです。
これは、これまでのコードです。
var gulp = require("gulp");
var sass = require("gulp-sass");
var sourcemaps = require("gulp-sourcemaps");
var autoprefixer = require("auto-prefixer");
var imagemin = require("gulp-imagemin");
var browserSync = require("browser-sync").create();
gulp.task("css", function() {
return gulp
.src("src/sass/**/*.scss")
.pipe(sourcemaps.init())
.pipe(sass({ outputStyle: "compressed" }).on("error", sass.logError))
.pipe(
autoprefixer({
browsers: ["last 2 versions"]
})
)
.pipe(sourcemaps.write("./maps"))
.pipe(gulp.dest("dist/css"));
});
このエラーメッセージの意味と、この問題を解決するにはどうしたらよいか、どなたか説明してください。 冗長で申し訳ありませんが、既存の回答には解決策が見つかりませんでした。
編集::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::. パッケージ.jsonを追加するのが有効かもしれません
{
"name": "sitepointresponsivewebsite",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"auto-prefixer": "^0.4.2",
"browser-sync": "^2.26.3",
"gulp": "^4.0.0",
"gulp-imagemin": "^5.0.3",
"gulp-sass": "^4.0.2",
"gulp-sourcemaps": "^2.6.5"
}
}
これは完全なターミナルのエラーメッセージです。
Beratungs-MacBook-Pro-2:sitepointResponsiveWebsite Beratung1$ gulp css
[14:04:02] Using gulpfile ~/Desktop/sitepointResponsiveWebsite/gulpfile.js
[14:04:02] Starting 'css'...
[14:04:02] 'css' errored after 12 ms
[14:04:02] TypeError: dest.on is not a function
at DestroyableTransform.Readable.pipe (/Users/Beratung1/Desktop/sitepointResponsiveWebsite/node_modules/readable-stream/lib/_stream_readable.js:564:8)
at /Users/Beratung1/Desktop/sitepointResponsiveWebsite/gulpfile.js:13:6
at taskWrapper (/Users/Beratung1/Desktop/sitepointResponsiveWebsite/node_modules/undertaker/lib/set-task.js:13:15)
at bound (domain.js:396:14)
at runBound (domain.js:409:12)
at asyncRunner (/Users/Beratung1/Desktop/sitepointResponsiveWebsite/node_modules/async-done/index.js:55:18)
at process._tickCallback (internal/process/next_tick.js:61:11)
解決方法は?
このようなよくわからないエラーメッセージの場合、通常、スタックトレースが最も役に立ちます。
at DestroyableTransform.Readable.pipe (/Users/Beratung1/Desktop/sitepointResponsiveWebsite/node_modules/readable-stream/lib/_stream_readable.js:564:8)
at /Users/Beratung1/Desktop/sitepointResponsiveWebsite/gulpfile.js:13:6
エラーが発生しているのは
pipe()
メソッドで、readable-stream を作成します。
dest
の第1引数の名前です。
pipe()
dest.on"が存在しないということは、この関数に渡された何かが、この関数に渡されたことを意味します。
pipe()
は実際にはストリームではありません。
2つ目のスタックフレームは13行目を参照しており、これは以下の通りです。
pipe()
の呼び出しがあります。
.pipe(
autoprefixer({
browsers: ["last 2 versions"]
})
)
つまり、autoprefixer()の戻り値はストリームではありません。
autoprefixer
があります。
var autoprefixer = require("auto-prefixer");
npmでそのモジュールを見てみると https://www.npmjs.com/package/auto-prefixer . 見た目は変ですが、間違いなくストリームAPIではありません。
その
リアル
というオートプレフィクサーモジュールがあります。
autoprefixer
ダッシュはありません。gulp-postcssと一緒に使うには、こちらで説明されているようにします。
https://www.npmjs.com/package/autoprefixer#gulp
var postcss = require('gulp-postcss')
var autoprefixer = require('autoprefixer')
// .. etc ..
.pipe(postcss([ autoprefixer({
// .. options ..
}) ]))
関連
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】Vueが定義されていない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] javascript:void(0)」とは何ですか?
-
[解決済み】関数の前のエクスクラメーションマークは何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】Uncaught ReferenceError。Reactが定義されていない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】中央値の計算 - javascript