我正在努力理解命名和默认导出。我有一个看似基本的要求,我不知道如何设置。
我希望能够同时进口:
//app.js
import Mod from './my-module'
import { funcA, funcB } from './my-module'
console.log('A', Mod.funcA(), funcA()); // A a a
console.log('B', Mod.funcB(), funcB()); // A a a当我尝试时,最接近的方法是:
//my-module.js
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };
export default {funcA, funcB}我的麻烦在于,我不希望重新索引默认导出中的每个函数。我只想定义我的函数,然后确保它们是导出的,这样我就可以任意使用它们。
有什么建议吗?还是我必须使用import * as Mod from './my-module';
发布于 2016-04-12 10:10:26
您可以省略默认导出,并将导入用作语法:
//app.js
import * as Mod from './my-module'
import { funcA, funcB } from './my-module'
console.log('A', Mod.funcA(), funcA()); // A a a
console.log('B', Mod.funcB(), funcB()); // B b b//my-module.js
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };发布于 2016-04-12 10:10:12
使用* as name导入整个模块的内容一次
import * as Mod from './my-module';然后使用析构将它们分配给单独的常量:
const { funcA, funcB } = Mod;对于导出,只需使用命名导出:
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };https://stackoverflow.com/questions/36569961
复制相似问题