Xen*_*mar 5 javascript node.js ecmascript-5 ecmascript-6
我正在努力了解如何将 CommonJS 模块导入 ESM 语法。我目前正在尝试与图书馆合作url-metadata。url-metadata将顶级导出公开为可调用(据我所知,这并不真正符合 CommonJS):
const urlMetadata = require('url-metadata')
urlMetadata(URL, ...)
Run Code Online (Sandbox Code Playgroud)
不可能写成:
import urlMetadata from 'urlMetadata'
Run Code Online (Sandbox Code Playgroud)
因为没有定义默认导出。
相反,我必须写:
import * as urlMetadata from 'url-metadata'
Run Code Online (Sandbox Code Playgroud)
或者:
import urlMetadata = require("url-metadata")
Run Code Online (Sandbox Code Playgroud)
我尝试阅读 Node 中的模块加载,但我仍然有些困惑,不知道执行此操作的正确方法是什么以及为什么。
Mik*_*keM 11
import urlMetadata from 'url-metadata';
Run Code Online (Sandbox Code Playgroud)
是语法糖
import { default as urlMetadata } from 'url-metadata';
Run Code Online (Sandbox Code Playgroud)
两者都可以正常工作。
module.exportsCommonJS 模块中分配的值是默认导出。
请参阅Node.js文档。
| 归档时间: |
|
| 查看次数: |
13641 次 |
| 最近记录: |