首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取未定义的“表”属性

无法读取未定义的“表”属性
EN

Stack Overflow用户
提问于 2019-11-28 09:52:20
回答 2查看 1.2K关注 0票数 1

有人能帮忙吗?我不断地收到这个错误,我真的不知道还能做些什么。当我在cmd中触发命令gulp watch时,我收到以下错误TypeError: Cannot read property 'watch' of undefined

C:\Apache24\htdocs\Gulp>gulp手表10:37:07使用C:\Apache24\htdocs\Gulp\gulpfile.js 10:37:07开始“手表”10:37:07‘手表’在4.16毫秒10:37:07后出现错误,TypeError:无法读取未定义的手表(C:\Apache24\htdocs\Gulp\gulpfile.js:42:10) at watch的属性(C:\Apache24\htdocs\Gulp\gulpfile.js:42:10)在runBound (domain.js:422:14) at runBound (domain.js:435:12) at asyncRunner (C:\Apache24 24\htdocs\)Gulp\node_modules\异步完成\index.js:55:18)在processTicksAndRejections (内部/process/task_Quees.js:75:11)

代码语言:javascript
复制
const {src, dest, series, gulp, parallel} = require('gulp');
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');

var styleSRC = './src/scss/style.scss';
var styleDIST = './dist/css/';


var jsSRC = './src/js/script.js';
var jsDIST = './dist/js/';


function style() {
    "use strict";
    return src(styleSRC)
        .pipe(sourcemaps.init())
        .pipe(sass({
            errorLogToConsole: true,
            outputStyle: 'compressed'
        }))
        .on('error', console.error.bind(console))
        .pipe(autoprefixer({
            overrideBrowserslist: ["defaults"],
            cascade: false
        }))
        .pipe(rename({basename: 'style', suffix: '.min'}))
        .pipe(sourcemaps.write('./'))
        .pipe(dest(styleDIST));
}


function js() {
    "use strict";
    return src(jsSRC)
        .pipe(dest(jsDIST));
}

const watch = function () {
    "use strict";
    gulp.watch('./src/scss/**/*.scss', {usePolling: true}, gulp.series(style));
    gulp.watch('./src/js/**/*.js', {usePolling: true}, gulp.series(js));
};
exports.default = series(
    parallel(style, js),
    watch
);

exports.watch = watch;
exports.js = js;
exports.style = style;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-28 10:39:59

我想你的破坏有点错了。你有:

代码语言:javascript
复制
const {src, dest, series, gulp, parallel} = require('gulp');
//                          ^ this does not exist - hence the undefined property

我认为您想用watch替换销毁过程中的watch,所以现在是:

代码语言:javascript
复制
const {src, dest, series, watch, parallel} = require('gulp');

在您的watch函数中,请执行:

代码语言:javascript
复制
// renamed the function to avoid conflict
const watchTask = function () {
    "use strict";
    watch('./src/scss/**/*.scss', {usePolling: true}, series(style));
    watch('./src/js/**/*.js', {usePolling: true}, series(js));
};

exports.default = series(
    parallel(style, js),
    watchTask
);

exports.watch = watchTask;
票数 0
EN

Stack Overflow用户

发布于 2019-11-28 09:58:31

尝试一下,删除const并将其定义为一个函数。

代码语言:javascript
复制
function watch() {
    "use strict";
    gulp.watch('./src/scss/**/*.scss', {usePolling: true}, gulp.series(style));
    gulp.watch('./src/js/**/*.js', {usePolling: true}, gulp.series(js));
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59085999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档