javascript - 我如何将此 require 写为 es6 import 语句

标签 javascript node.js import ecmascript-6

问题

我有这个要求声明

require('smoothscroll-polyfill').polyfill();

但我想把它写成 es6 import 语句

我试过了

import 'smoothscroll-polyfill';

import * as 'smoothscrollPolyfill' from 'smoothscroll-polyfill';

但是无法让它正常工作,那么像这样导入包的正确方法是什么?

最佳答案

您将分两部分进行,首先是导入,然后是函数调用:

如果 polyfill 本身是一个命名的导出并且它不关心当它被调用时 this 是什么:

import {polyfill} from 'smoothscroll-polyfill';
polyfill();

(您现在 confirmed 就是这种情况。)


为了完整起见,在确认以上内容之前,我还列出了这些可能对将来其他人有用的其他可能性:

如果 polyfilldefault 导出(而不是它自己命名的导出)的一个属性,那么我们导入默认值(没有{}import 语句中)然后使用它的属性:

import smoothScrollPolyFill from 'smoothscroll-polyfill';
const polyfill = smoothScrollPolyFill.polyfill();

如果 smoothScrollPolyFill 部分是一个命名导出并且 polyfill 是它的一个属性,那么我们将使用 { import 上:

import {smoothScrollPolyFill} from 'smoothscroll-polyfill';
const polyfill = smoothScrollPolyFill.polyfill();

关于javascript - 我如何将此 require 写为 es6 import 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42579853/

相关文章:

node.js - 如何使用无服务器离线将 lambda 的离线跟踪发送到本地 xray 守护进程?

python - 在 python 和 IPython 中导入本地模块

android - 如何在 Kotlin 中自定义 Android Studio 的导入顺序以忽略它们是否是 "static"导入?

javascript - 通过AngularJS将json格式转换为另一种json格式

Javascript 和 Jquery 定义全局变量?

javascript - 无法使用 Jade 模板包含相对路径文件

python - 导入在Python中是如何工作的?

javascript - undefined 不是一个对象(评估 '_this2.props.navigation.navigate' ) - React Native

javascript - 如何在node.js中同步连接mssql服务器

node.js - 有时拉丁字母 (ä ö ü è ß) 字符会返回为 �