0

我想将以下导入语法转换为 es6 导入语法

const mongoose = require('mongoose')
require('mongoose-long')(mongoose);
const {Types: {Long}} = mongoose;
4

1 回答 1

0

我通常不使用模块的 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 }
于 2020-10-16T21:41:29.403 回答