在我的earlier question和import
上的Mozilla documentation之后,我现在知道我必须做类似以下的事情才能在模块中使用该功能:
import * as name from "module";
或import {functionName} from "module";
由于使用CommonJS,我从没想过哪个函数是由包导出的,因为我以前曾经require
像这样:
const vueServerRenderer = require('vue-server-renderer') // get the module
vueServerRenderer.createRenderer() // use a function in that module
某人如何找出诸如express
或vueServerRenderer
之类的模块正在导出哪些函数,所以我知道如何使用正确的import
语句,如:
import express from 'express'
而不是import * as express from 'express'
?
答案 0 :(得分:1)
您需要阅读模块源代码。
每个export
语句都会导出内容。它可以是函数,数组,字符串,类等。
每个export
不含default
的语句都需要在导入时进行解构:
import { NonDefaultThing1, NonDefaultThing2 } from 'somewhere'
带有export
的{{1}}语句必须不带default
的情况下直接导入:
{}
某些模块具有默认导出,但也具有非默认导出。您可以选择要导入的内容:
import DefaultThing from 'somewhere'
如果使用可以解析javascript的IDE(例如Microsoft Visual Studio Code),则可以获取import DefaultThing, { NonDefaultThing7 } from 'somewhere'
语句的自动补全/智能。甚至有一些插件可以自动导入:只需使用类或函数或模块中的某些内容,它将自动在文件顶部添加所需的import语句。
答案 1 :(得分:0)
TLDR:default
导出。
假设一个名为“模块”的特定库具有以下代码
function functionName() {
// function body
}
export default functionName;
现在,在您的代码中,如果您输入
import blah from "module";
然后blah
将指向functionName
。