导入与要求 - 新版本
Import vs require - New version
所以我在学习 NodeJS 教程。
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('db.json')
const db = low(adapter)
我试过用这个:
import {default as lowdb} from 'lowdb'
这个:
import lowdb from 'lowdb'
都抛出错误。
我对如何以 import
的新方式使用它比使用已折旧的 require
有点困惑。
一件事要改变,第二件事要检查第一件事是否没有完全解决它。
该模块没有默认导出,您尝试的两个 import
语句假设有默认导出。按照 the package page, which includes import { Low, JSONFile } from 'lowdb'
. Using that and/or other things listed in the API at the package page 中的用法示例进行操作应该可以满足您的需求。
如果您这样做但仍然无效,请确保您已将文件命名为 .mjs
或将 "type": "module"
包含在 package.json
.有关详细信息,请参阅 the Node.js documentation for packages。 (这将适用于撰写本文时支持的所有 Node.js 版本,即 Node.js 版本 12.x、14.x 和 16.x。如果您是 运行 10.x 或更早版本,您需要升级。)
所以我在学习 NodeJS 教程。
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('db.json')
const db = low(adapter)
我试过用这个:
import {default as lowdb} from 'lowdb'
这个:
import lowdb from 'lowdb'
都抛出错误。
我对如何以 import
的新方式使用它比使用已折旧的 require
有点困惑。
一件事要改变,第二件事要检查第一件事是否没有完全解决它。
该模块没有默认导出,您尝试的两个
import
语句假设有默认导出。按照 the package page, which includesimport { Low, JSONFile } from 'lowdb'
. Using that and/or other things listed in the API at the package page 中的用法示例进行操作应该可以满足您的需求。如果您这样做但仍然无效,请确保您已将文件命名为
.mjs
或将"type": "module"
包含在package.json
.有关详细信息,请参阅 the Node.js documentation for packages。 (这将适用于撰写本文时支持的所有 Node.js 版本,即 Node.js 版本 12.x、14.x 和 16.x。如果您是 运行 10.x 或更早版本,您需要升级。)