首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Watchify并不总是检测到javascript文件中的更改

Watchify并不总是检测到javascript文件中的更改
EN

Stack Overflow用户
提问于 2015-06-11 17:35:51
回答 2查看 1.7K关注 0票数 12

我创建了一个gulp任务,用于使用browserify捆绑模块,并且我正在使用watchify来监视更改。以下是我对watchify的吞咽任务:

代码语言:javascript
复制
gulp.task('watch:browserify', function () {
    var opts = assign({}, watchify.args, {
        entries: ['./js/app.js'],
        debug: true,
        basedir: './app/',
        paths: ['./lib']
    });

    var b = watchify(browserify(opts));

    b.on('update', function () {
        bundle();
    });

    function bundle() {
        gutil.log(gutil.colors.blue("Starting Browserify..."));
        var time = Date.now();
        return b.bundle()
            .on('error', gutil.log.bind(gutil, gutil.colors.red('Browserify Error')))
            .pipe(source('bundle.js'))
            .pipe(buffer())
            .pipe(sourcemaps.init({loadMaps: true}))
            .pipe(sourcemaps.write('.'))
            .pipe(gulp.dest('app'))
            .on('end', function () {
                var duration = Date.now() - time;
                gutil.log(gutil.colors.blue('Finished Browserify') + " (%dms)", duration);
            })
    }

    bundle();
});

如果我编辑主js文件(./js/app.js),总是会检测到更改。但是,当我编辑主文件所需的其他一些文件时,大致每隔一次(但并非总是)就会检测到更改。我是不是做错了什么?

Here is the full Github repo所以你可能已经完全明白我是怎么计划的了

EN

回答 2

Stack Overflow用户

发布于 2015-10-15 08:19:45

您的代码示例有两个问题。

首先,正如here所讨论的,watch:browserify必须接受回调或返回流,否则可能会出现竞争条件。因此,例如,任务中的最后一行可以是return bundle();

其次,在使用watchify时,必须将cachepackageCache选项传递给browserify(),如下所示并指定here

代码语言:javascript
复制
    var b = browserify({ cache: {}, packageCache: {} });

最后,确保app.js实际上依赖于您正在编辑的其他文件,在其依赖链中的某个位置。

票数 1
EN

Stack Overflow用户

发布于 2017-07-18 20:26:20

我也有同样的问题,我把@akarve提到的所有东西都设置好了。我回到watchify: "^2.6.0",这个问题已经解决了。然而,构建/检测时间稍微慢了一点--大约半秒。尽管如此,还是比偶尔(经常)好得多。watchify没有检测到我的更改。

相关讨论在这里(我也在这里找到了关于v2.6.0的评论)- https://github.com/substack/watchify/issues/216#issuecomment-119285896

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30776960

复制
相关文章

相似问题

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