fix dynamic import

This commit is contained in:
Moos 2018-11-09 16:00:18 -08:00
parent 57c09957e8
commit f8e6173062
3 changed files with 13 additions and 4 deletions

View File

@ -1,6 +1,6 @@
let wordpos = window.wordpos = new WordPOS({ let wordpos = window.wordpos = new WordPOS({
// preload: true, // preload: true,
dictPath: '../samples/self-hosted/dict', dictPath: '/samples/self-hosted/dict',
profile: true, profile: true,
// stopwords: false // stopwords: false
}); });

View File

@ -7,6 +7,8 @@
* Released under MIT license * Released under MIT license
*/ */
let isTest = window.__mocha;
class BaseFile { class BaseFile {
/** /**
@ -33,11 +35,13 @@ class BaseFile {
load() { load() {
if (this.loadError) return Promise.reject(this.loadError); if (this.loadError) return Promise.reject(this.loadError);
this.options.debug && console.time('index load ' + this.posName); this.options.debug && console.time('index load ' + this.posName);
let promise = Promise.resolve(require(this.filePath));
this.options.debug && console.timeEnd('index load ' + this.posName)
let promise = isTest
? Promise.resolve(require(this.filePath))
: eval(`import('${this.filePath}')`); // prevent parcel from clobbering dynamic import
this.options.debug && console.timeEnd('index load ' + this.posName)
return promise return promise
.then(exports => { .then(exports => {
this.file = exports.default this.file = exports.default

View File

@ -17,6 +17,10 @@
* Released under MIT license * Released under MIT license
*/ */
// used in src code to signal test mode
global.window = global.window || {};
global.window.__mocha = true;
var var
chai = require('chai'), chai = require('chai'),
_ = require('underscore'), _ = require('underscore'),
@ -31,6 +35,7 @@ var
// debug: true // debug: true
}); });
const assertNoData = (err) => { const assertNoData = (err) => {
assert(err instanceof RangeError); assert(err instanceof RangeError);
assert(/No data at offset/.test(err.message)); assert(/No data at offset/.test(err.message));