我似乎不明白为什么这不起作用
我的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当我运行start时,我得到以下错误:
TypeError: Loki is not a constructor我已经尝试了所有的方法,但我想我没有抓住要点,如果有人能帮助我,我将不胜感激。Loki不是一个构造函数,我知道,但是我如何实例化一个新的Loki(),为什么相同的东西在其他地方也能工作呢?
谢谢你的帮助!
发布于 2021-03-27 17:15:19
您可以执行以下任一操作:
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内部,该类似乎导出为module.exports = factory(),等同于export default factory(),因此该类导出为default。这里有一个有用的问题来理解我的意思:ES6: "import * as alias" vs "import alias"
https://stackoverflow.com/questions/66824873
复制相似问题