why node uses require not import?

后端 未结 3 1437
难免孤独
难免孤独 2021-02-19 20:08

I\'m learning node.js and am wondering why it uses the require syntax rather than the import syntax which React uses.

i.e.

const

相关标签:
3条回答
  • 2021-02-19 20:29

    the import and default are newer ES6 features, not yet used by node. Node is actually already implementing the new features as experiment though: with the --experimental-modules flag and only for files saved with .mjs extension.

    Transpilers like babel make it possible to write modern, spec approved and /or experimental ECMAScript. In an ecosystem of bundlers like Webpack with transpilers like babel, it becomes easy to write maintainable, future-proof javascript, while the code remains widely suported because it's transformed to commonjs (the format you see recognizable byrequire (the old-school import) and module.exports (the old-school export).

    0 讨论(0)
  • 2021-02-19 20:42

    Probably for historical reasons. node.js and chrome (v8 engine) are older than ES6 standard.

    On the other hand, see: How can I use an es6 import in node?

    You may use import, too.

    0 讨论(0)
  • 2021-02-19 20:47

    I believed import is es6 but I don't think that explains why it's not used in node.

    Just like the way NodeJS implements their entire library which tons of asynchronous functions which only support callback-based approach. Thinking this way and you'll realize that, sooner or later, the NodeJS framework will definitely support the import syntax and upgrade all of those asynchronous functions to support promise-based.

    0 讨论(0)
提交回复
热议问题