首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gulp错误- TypeError:无法调用未定义的方法“匹配”

Gulp错误- TypeError:无法调用未定义的方法“匹配”
EN

Stack Overflow用户
提问于 2015-07-26 16:44:54
回答 1查看 1.5K关注 0票数 0

我正试图在一个通过BrowserSync运行在MAMP上的网站上使用Gulp和localhost:8888

但是,在运行gulp时,我会得到以下错误:

代码语言:javascript
复制
[17:38:48] Starting 'browser-sync'...
[17:38:48] 'browser-sync' errored after 14 ms
[17:38:48] TypeError: Cannot call method 'match' of undefined
    at Object.opts.callbacks.proxy (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/lib/cli/cli-options.js:123:21)
    at /Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/lib/cli/cli-options.js:276:54
    at /Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1165:46
    at /Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1915:16
    at ValueNode.iterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:2282:12)
    at BitmapIndexedNode.iterate.HashArrayMapNode.iterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:2275:24)
    at HashArrayMapNode.BitmapIndexedNode.iterate.HashArrayMapNode.iterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:2275:24)
    at src_Map__Map.__iterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1913:32)
    at KeyedIterable.mappedSequence.__iterateUncached (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1164:23)
    at seqIterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:593:16)
    at KeyedIterable.Seq.__iterate (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:261:14)
    at KeyedIterable.mixin.forEach (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:4327:19)
    at /Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1771:16
    at src_Map__Map.withMutations (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1891:7)
    at new src_Map__Map (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1768:20)
    at reify (/Applications/MAMP/htdocs/garcialau/wp-content/themes/garcialau/node_modules/browser-sync/node_modules/immutable/dist/immutable.js:1704:37)
michaels-mbp:garcialau ParanoidAndroid$

My Gulpfile.js

代码语言:javascript
复制
(function() {

    'use strict';

    var gulp = require('gulp'),
        plumber = require('gulp-plumber'),
        rename = require('gulp-rename'),
        autoprefixer = require('gulp-autoprefixer'),
        babel = require('gulp-babel'),
        concat = require('gulp-concat'),
        jshint = require('gulp-jshint'),
        uglify = require('gulp-uglify'),
        imagemin = require('gulp-imagemin'),
        cache = require('gulp-cache'),
        sass = require('gulp-sass'),
        browserSync = require('browser-sync').create();
        //neat = require('node-neat').includePaths;

    gulp.task('browser-sync', function() {
        browserSync.init({
            proxy: {
                host: 'localhost',
                port: 8888
            }
        });
    });

    gulp.task('bs-reload', function () {
        browserSync.reload();
    });

    gulp.task('images', function(){
        gulp.src('src/images/**/*')
        .pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
        .pipe(gulp.dest('dist/images/'));
    });

    gulp.task('styles', function(){
        gulp.src(['src/css/**/*.scss'])
        .pipe(plumber({
            errorHandler: function (error) {
                console.log(error.message);
                this.emit('end');
        }}))
        .pipe(sass())
        .pipe(autoprefixer('last 2 versions'))
        .pipe(gulp.dest('dist/css/'))
        .pipe(browserSync.reload({stream:true}));
    });

    gulp.task('scripts', function(){
        return gulp.src('src/js/**/*.js')
        .pipe(plumber({
            errorHandler: function (error) {
            console.log(error.message);
            this.emit('end');
        }}))
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(concat('main.js'))
        .pipe(babel())
        .pipe(gulp.dest('dist/js/'))
        .pipe(rename({suffix: '.min'}))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js/'))
        .pipe(browserSync.reload({stream:true}));
    });

    gulp.task('default', ['browser-sync'], function(){
        gulp.watch('src/css/**/*.scss', ['styles']);
        gulp.watch('src/js/**/*.js', ['scripts']);
        gulp.watch('*.html', ['bs-reload']);
    });

})();

My Package.json

代码语言:javascript
复制
{
    "name": "Quench",
    "version": "1.0.0",
    "description": "A Gulp file and project generator.",
    "main": "gulpfile.js",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "Quench",
    "license": "ISC",
    "devDependencies": {
        "browser-sync": "2.6.5",
        "gulp-autoprefixer": "2.1.0",
        "gulp-babel": "5.1.0",
        "gulp-cache": "0.2.8",
        "gulp-concat": "2.5.2",
        "gulp-jshint": "1.10.0",
        "gulp-imagemin": "2.2.1",
        "gulp-plumber": "1.0.0",
        "gulp-rename": "1.2.2",
        "gulp-sass": "1.3.3",
        "gulp-uglify": "1.2.0",
        "gulp": "~3.9.0",
        "node-neat": "~1.7.2"
    }
}

任何帮助都将不胜感激!我对npm、Grunt和BrowserSync并不熟悉。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-26 16:58:49

来源建议浏览器同步在代理配置对象中期待一个target属性。

医生们建议您应该指定一个target属性,而不是将hostport属性分开,所以.

代码语言:javascript
复制
proxy: {
    target: "localhost:8888",
}

..。或者只是:

代码语言:javascript
复制
proxy: "localhost:8888"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31639463

复制
相关文章

相似问题

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