【问题标题】:How to import mongoose-long plugin with es6 way如何使用 es6 方式导入 mongoose-long 插件
【发布时间】:2021-01-31 08:43:41
【问题描述】:
我想把下面的 import 语法转换成 es6 import 语法
const mongoose = require('mongoose')
require('mongoose-long')(mongoose);
const {Types: {Long}} = mongoose;
【问题讨论】:
标签:
javascript
node.js
mongoose
es6-modules
mongoose-plugins
【解决方案1】:
我通常不会对模块使用 ES6 语法,所以我查阅了这篇似乎是正确的文章:https://codeburst.io/understanding-es6-modules-import-export-syntax-in-javascript-6c01f20cead3
对于您的示例,这似乎对我有用(在我的调试器中,我看到变量 Long 得到一个值,我可以使用它来创建一个 Long 值)
import mongoose from 'mongoose'
import mongooseLong from 'mongoose-long'
mongooseLong(mongoose)
const {Types: {Long}} = mongoose;
const myVal = new Long(0, 0xffff)
console.log(myVal)
唯一棘手的步骤是处理require('mongoose-long')(mongoose)。我引入了变量mongooseLong 来解决这个问题。
为了使其可执行,我需要将以下内容添加到我的 package.json 中(链接文章中提到了这一点):
"type": "module"
当我运行这个程序时,我看到以下内容
> node index.js
Long { _bsontype: 'Long', low_: 0, high_: 65535 }