首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: Loki不是构造函数

TypeError: Loki不是构造函数
EN

Stack Overflow用户
提问于 2021-03-27 06:07:52
回答 1查看 181关注 0票数 0

我似乎不明白为什么这不起作用

我的Hapi.js index.ts如下所示:

代码语言:javascript
复制
import { Server, Request, ResponseToolkit } from '@hapi/hapi';
import * as Loki from 'lokijs';

..。

代码语言:javascript
复制
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });

它非常简单,取自一个著名的example

我的package.json中的脚本如下所示:

代码语言:javascript
复制
"scripts": {
"prestart": "tsc",
"start": "node dist/index.js",
...

编译成dist/index.js当我运行start时,我得到以下错误:

代码语言:javascript
复制
TypeError: Loki is not a constructor

我已经尝试了所有的方法,但我想我没有抓住要点,如果有人能帮助我,我将不胜感激。Loki不是一个构造函数,我知道,但是我如何实例化一个新的Loki(),为什么相同的东西在其他地方也能工作呢?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-27 17:15:19

您可以执行以下任一操作:

代码语言:javascript
复制
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.

代码语言:javascript
复制
import Loki from 'lokijs';
const db = new Loki(`${UPLOAD_PATH}/${DB_NAME}`, { persistenceMethod: 'fs' });

查看lokijs内部,该类似乎导出为module.exports = factory(),等同于export default factory(),因此该类导出为default。这里有一个有用的问题来理解我的意思:ES6: "import * as alias" vs "import alias"

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

https://stackoverflow.com/questions/66824873

复制
相关文章

相似问题

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