首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将此要求写入es6导入语句?

如何将此要求写入es6导入语句?
EN

Stack Overflow用户
提问于 2017-03-03 13:13:26
回答 3查看 1.1K关注 0票数 3

问题

我有这份要求声明

代码语言:javascript
运行
复制
require('smoothscroll-polyfill').polyfill();

但是我想把它写成一个es6导入语句

我试过了

代码语言:javascript
运行
复制
import 'smoothscroll-polyfill';

代码语言:javascript
运行
复制
import * as 'smoothscrollPolyfill' from 'smoothscroll-polyfill';

但是不能让它正常工作,那么导入这样一个包的正确方法是什么呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-03 13:18:29

您需要分两部分完成,首先是导入,然后是函数调用:

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

代码语言:javascript
运行
复制
import {polyfill} from 'smoothscroll-polyfill';
polyfill();

(现在你已经有了https://stackoverflow.com/questions/42579853/how-do-i-write-this-require-as-an-es6-import-statement/42579961?noredirect=1#comment72292602_42579961,情况就是这样。)

为了完整起见,在上述情况得到证实之前,我还列举了今后可能对其他人有用的其他可能性:

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

代码语言:javascript
运行
复制
import smoothScrollPolyFill from 'smoothscroll-polyfill';
const polyfill = smoothScrollPolyFill.polyfill();

如果smoothScrollPolyFill部件是一个命名的导出,而polyfill是其上的一个属性,那么我们将在import上使用{}

代码语言:javascript
运行
复制
import {smoothScrollPolyFill} from 'smoothscroll-polyfill';
const polyfill = smoothScrollPolyFill.polyfill();
票数 7
EN

Stack Overflow用户

发布于 2017-03-03 13:17:12

使用import {} from '...'代替。

代码语言:javascript
运行
复制
 import {polyfill} from 'smoothscroll-polyfill';//ref polyfill from 'smotthscroll-polyfill'
 polyfill();//ref a method,so you must call it after imported.
票数 4
EN

Stack Overflow用户

发布于 2017-03-03 13:17:05

假设您正在使用Babel或类似的东西来提供CommonJS模块和ES6模块之间的兼容性,那么语法如下所示:

代码语言:javascript
运行
复制
import smoothscrollPolyfill from "smoothscroll-polyfill";
smoothscrollPolyfill.polyfill();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42579853

复制
相关文章

相似问题

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