raa*_*rts 1 javascript node.js
是不是ES6替换节点require()?我有以下代码:
var sprintf = require("sprintf-js").sprintf;
这与广告一样有效.我可以使用sprintf().我想使用ES6 import语句完成相同的操作:
import sprintf from 'sprintf-js';
这不起作用.为什么不?我该如何解决?如果您可以解释sprintf-js中的导出如何工作,则可以获得奖励积分.
您可以通过多种方式访问模块导出.请参阅MDN文章.
import defaultMember from "module-name";
import * as name from "module-name";
import { member } from "module-name";
import { member as alias } from "module-name";
import { member1 , member2 } from "module-name";
import { member1 , member2 as alias2 , [...] } from "module-name";
import defaultMember, { member [ , [...] ] } from "module-name";
import defaultMember, * as name from "module-name";
import "module-name";
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你的语法会工作,如果你已经分配的出口sprintf是default; 如果您已分配sprintf给该default对象.
假设不是,正确的语法将在大括号内包含对导出方法的引用.
import { sprintf } from 'sprintf-js';
Run Code Online (Sandbox Code Playgroud)