首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求的模块不提供导出?

请求的模块不提供导出?
EN

Stack Overflow用户
提问于 2019-05-20 11:13:08
回答 1查看 2.9K关注 0票数 1

这里的第一篇文章,温文尔雅:)

我正在学习一些node.js,并且我正在尝试使用一个名为'node-bom‘的模块来做一些事情。

我熟悉调用节点模块的'require‘方法。但是,作者提供了以下代码示例,该示例不适用于node.js:

代码语言:javascript
复制
import {Bom} from 'node-bom'

const bom = new Bom({
  /// options
})

bom.getParsedStateData('VIC', {
  bypassCache: false // default: false to use cache
})
  .then((stateData) => {
    console.log(stateData)
    /*
      {
        forecast: {}, // forecast data
        observations: {} // current station's observations data
      }
    */
  })

此代码产生以下错误:

代码语言:javascript
复制
(node:10363) ExperimentalWarning: The ESM module loader is experimental.
file:///Users/ajudge/node-bom-testing/index.mjs:1
import {Bom} from 'node-bom'
        ^^^
SyntaxError: The requested module 'node-bom' does not provide an export named 'Bom'
    at ModuleJob._instantiate (internal/modules/esm/module_job.js:93:21)
    at async ModuleJob.run (internal/modules/esm/module_job.js:108:20)
    at async Loader.import (internal/modules/esm/loader.js:128:24)

我做了一些进一步的阅读,这似乎是一个ES6问题。因此,我将文件更改为实验模块并使用-- .mjs -modules标志,但我仍然没有任何运气。

有没有人能说清楚我需要修改什么才能让这个模块工作?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-20 11:22:05

将文件名更改为.js

包docs中的示例更多地是面向TypeScript的(因此使用import)。

在Node.JS中,您的代码应该如下所示:

代码语言:javascript
复制
const Bom = require('node-bom')

const bom = new Bom.Bom({
  /// options
})

bom.getParsedStateData('VIC', {
  bypassCache: false // default: false to use cache
})
  .then((stateData) => {
    console.log(stateData)
    /*
      {
        forecast: {}, // forecast data
        observations: {} // current station's observations data
      }
    */
  })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56213880

复制
相关文章

相似问题

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