Я пытаюсь импортировать модуль js-search
npm в компонент vue. Но всякий раз, когда я делаю это:
import JsSearch from 'js-search'
Выше при регистрации console.log(JsSearch)
дают неопределенное значение.
Я также исследовал, что модуль npm
Его package.json
показывает "main": "dist/commonjs/index.js"
Файл выглядит так:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _index = require('./IndexStrategy/index');
Object.defineProperty(exports, 'AllSubstringsIndexStrategy', {
enumerable: true,
get: function get() {
return _index.AllSubstringsIndexStrategy;
}
});
Object.defineProperty(exports, 'ExactWordIndexStrategy', {
enumerable: true,
get: function get() {
return _index.ExactWordIndexStrategy;
}
});
Object.defineProperty(exports, 'PrefixIndexStrategy', {
enumerable: true,
get: function get() {
return _index.PrefixIndexStrategy;
}
});
var _index2 = require('./Sanitizer/index');
Object.defineProperty(exports, 'CaseSensitiveSanitizer', {
enumerable: true,
get: function get() {
return _index2.CaseSensitiveSanitizer;
}
});
Object.defineProperty(exports, 'LowerCaseSanitizer', {
enumerable: true,
get: function get() {
return _index2.LowerCaseSanitizer;
}
});
var _index3 = require('./SearchIndex/index');
Object.defineProperty(exports, 'TfIdfSearchIndex', {
enumerable: true,
get: function get() {
return _index3.TfIdfSearchIndex;
}
});
Object.defineProperty(exports, 'UnorderedSearchIndex', {
enumerable: true,
get: function get() {
return _index3.UnorderedSearchIndex;
}
});
var _index4 = require('./Tokenizer/index');
Object.defineProperty(exports, 'SimpleTokenizer', {
enumerable: true,
get: function get() {
return _index4.SimpleTokenizer;
}
});
Object.defineProperty(exports, 'StemmingTokenizer', {
enumerable: true,
get: function get() {
return _index4.StemmingTokenizer;
}
});
Object.defineProperty(exports, 'StopWordsTokenizer', {
enumerable: true,
get: function get() {
return _index4.StopWordsTokenizer;
}
});
var _Search = require('./Search');
Object.defineProperty(exports, 'Search', {
enumerable: true,
get: function get() {
return _Search.Search;
}
});
var _StopWordsMap = require('./StopWordsMap');
Object.defineProperty(exports, 'StopWordsMap', {
enumerable: true,
get: function get() {
return _StopWordsMap.StopWordsMap;
}
});
var _TokenHighlighter = require('./TokenHighlighter');
Object.defineProperty(exports, 'TokenHighlighter', {
enumerable: true,
get: function get() {
return _TokenHighlighter.TokenHighlighter;
}
});
//# sourceMappingURL=index.js.map
В этом файле я вижу, что нет module.exports
, но есть различные Object.defineProperty
и несколько переменных, начинающихся с _
AFAIK, подчеркивания в javascript - это просто условные обозначения. Поэтому я предполагаю, что переменные подчеркивания должны быть как минимум доступны в переменной JsSearch
, если я импортирую их, и, следовательно, они не должны быть неопределенными (не так ли?)
Так в принципе, как этот модуль npm работает даже с require
и что я должен сделать, чтобы он работал с import
?
(я обнаружил эту проблему в репозитории github: https://github.com/bvaughn/js-search/issues/33 возможно, это поможет)