首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6和chokidar的Node.js问题

ES6和chokidar的Node.js问题
EN

Stack Overflow用户
提问于 2016-12-20 21:53:08
回答 1查看 584关注 0票数 1

我在使用npm模块chokidar时遇到了一点问题。问题是watcher.getWatched()的值返回null。我是否遗漏了与ES6和此运算符相关的内容?

我有一个条目file.js

代码语言:javascript
复制
let ChokidarWatcher = require('./services/chokidarWatcher');
let FileSystemObject = require('./file-system-object');

module.exports = function (server) {
    let studentPath = 'C:/Student2';
    let fswWatcher = new ChokidarWatcher(studentPath);    
    console.log(fswWatcher.GetWatched());
};

我有一个ChokidarWatcher类,如下所示

代码语言:javascript
复制
var chokidar = require('chokidar');
var FileSystemObject = require('../file-system-object');

class ChokidarWatcher {
constructor(studentPath) {
    this.StudentPath = studentPath;
    this.Watcher = chokidar.watch(this.StudentPath, {
        // atomic: true,
        alwaysStat: true,
        usePolling: true,
        ignoreInitial: true,
        ignored: function (path, stat) {                
            if (stat) {
                var isDir = stat.isDirectory();
                var fso = new FileSystemObject(path, stat);

                if (isDir) {
                    return (fso.name === 'node_modules' && studentPath === fso.dir) ||
                        fso.name === 'bower_components' || /[\/\\]\./.test(path)
                } else {
                    return fso.name === '.DS_Store'
                }
            }

            return false
        }
    });
}

GetMyWatcher() {
    return this.Watcher;
};

GetWatched() {

    var items = [];
    var watched = this.Watcher.getWatched();
    for (var dirpath in watched) {
        items.push(new FileSystemObject(dirpath, true))

        for (var i = 0; i < watched[dirpath].length; i++) {
            var name = watched[dirpath][i];
            var path = p.join(dirpath, name);
            if (!watched[path]) {
                // add file
                items.push(new FileSystemObject(path, false))
            }
        }
    }        
    return items
}
}

module.exports = ChokidarWatcher;
EN

回答 1

Stack Overflow用户

发布于 2016-12-21 17:53:45

这个链接很有帮助,我必须等待ready事件

https://github.com/paulmillr/chokidar/issues/487

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

https://stackoverflow.com/questions/41243966

复制
相关文章

相似问题

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