【问题标题】:Import Vs Require Node issue. Cant we require any module using import?导入与需要节点问题。我们不能使用导入来要求任何模块吗?
【发布时间】:2020-11-19 23:40:25
【问题描述】:

const csv = require('csvtojson') 这行得通

import { csv } from 'csvtojson' 但这不是。

谁能帮忙解决一下这里的问题?

【问题讨论】:

  • ìmport` 在最新版本的节点中工作。我认为支持从节点版本 13.3 左右开始

标签: javascript node.js import require csvtojson


【解决方案1】:

{} 用于从 csvtojson 库中部分导入,require 用于从库中导入每个导出的对象。 你得到什么样的错误?可能是因为稍后在您的代码中您依赖于 csvtojson 中的其他内容,这就是您收到错误的原因。

考虑下面的例子:

 // hello.js
    function hello1() {
      return 'hello1'
    }
    function hello2() {
      return 'hello2'
    }
    export { hello1, hello2 }
    
    // app.js
    import { hello1, hello2 } from './hello'
    hello1()  // returns hello1
    hello2()  // returns hello2

【讨论】:

    【解决方案2】:

    您必须使用.mjs 文件扩展名而不是.js。

    了解ECMAScript modules enabling - 它仍处于试验阶段,因此您可能需要在使用前确定。

    另一种方法是使用babel 将代码编译为commonJS

    【讨论】:

      猜你喜欢
      • 2022-10-16
      • 1970-01-01
      • 2021-12-31
      • 2018-09-16
      • 1970-01-01
      • 2017-01-06
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      相关资源
      最近更新 更多