TypeError: Loki is not a constructor
TypeError: Loki is not a constructor
我似乎无法弄清楚为什么这不起作用
我的 Hapi.js index.ts 看起来像这样:
import { Server, Request, ResponseToolkit } from '@hapi/hapi';
import * as Loki from 'lokijs';
...
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
这很简单,取自一个众所周知的 example
我的 package.json 中的脚本如下所示:
"scripts": {
"prestart": "tsc",
"start": "node dist/index.js",
...
编译成dist/index.js
当我 运行 启动时,出现以下错误:
TypeError: Loki is not a constructor
我已经尝试了各种方法,但我想我没有抓住重点,如果有人能帮助我,我将不胜感激。
Loki 不是构造函数,我明白了,但是我怎样才能实例化一个新的 Loki(),为什么同样的东西在其他地方也能工作?
感谢您的帮助!
您可以执行以下任一操作:
import * as Loki from 'lokijs';
const db = new Loki.default(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
// For me, I don't like this way. It looks bad.
或
import Loki from 'lokijs';
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
在 lokijs 中,class 似乎被导出为 module.exports = factory()
,相当于 export default factory()
,因此 class 被导出为 default
。这是一个有助于理解我的意思的问题:
我似乎无法弄清楚为什么这不起作用
我的 Hapi.js index.ts 看起来像这样:
import { Server, Request, ResponseToolkit } from '@hapi/hapi';
import * as Loki from 'lokijs';
...
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
这很简单,取自一个众所周知的 example
我的 package.json 中的脚本如下所示:
"scripts": {
"prestart": "tsc",
"start": "node dist/index.js",
...
编译成dist/index.js 当我 运行 启动时,出现以下错误:
TypeError: Loki is not a constructor
我已经尝试了各种方法,但我想我没有抓住重点,如果有人能帮助我,我将不胜感激。 Loki 不是构造函数,我明白了,但是我怎样才能实例化一个新的 Loki(),为什么同样的东西在其他地方也能工作?
感谢您的帮助!
您可以执行以下任一操作:
import * as Loki from 'lokijs';
const db = new Loki.default(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
// For me, I don't like this way. It looks bad.
或
import Loki from 'lokijs';
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });
在 lokijs 中,class 似乎被导出为 module.exports = factory()
,相当于 export default factory()
,因此 class 被导出为 default
。这是一个有助于理解我的意思的问题: