此前:
var debug = require('debug')('http')
, http = require('http')
, name = 'My App';
使用es6,如何像第一行一样立即导入和调用?
import debug from 'debug'();
是不是吗?
答案 0 :(得分:34)
你需要两行:
import debugModule from 'debug';
const debug = debugModule('http');
导入语法是声明性导入语法,它不执行任何函数。
答案 1 :(得分:3)
是不是吗?
正确。请记住,import
语句不仅仅是简单的require()
语句 - 它还会创建“已加载”模块与局部变量的绑定。
即,
import debug from 'debug'();
...在行为/语义上更接近
var debug = require('debug');
...而不是简单地
require('debug');
类似于commonjs风格的模块加载器显然会在某些时候崩溃,但在一天结束时,由于import debug from 'debug'
实际上没有解决的简单明了的事实,这是一个“不可能”。你可以调用(或以其他方式引用)的任何东西。
答案 2 :(得分:-15)
import http from "debug"; // not sure if this is the desired effect