我正在尝试使用create-index处理index.js,但我遇到了让一切工作正常的问题。
我有以下内容:
/modules/utils.js
export function func1(){ ... }
export function func2(){ ... }
export function func3(){ ... }
/modules/index.js [自动创建]
export { default as utils } from './utils.js';
/main.js
import utils from './modules';
utils.func1();
但无论我做什么,我都无法访问utils。我尝试了几种从./models导入的方法,但我能得到的最好的是import * as modules from './modules'
但是我实际上无法使用任何东西。
在这种情况下,我不确定我是在做蠢事还是在使用index.js时出错了。
答案 0 :(得分:3)
您的utils.js模块没有默认导出,因此从模块索引重新导出它将无济于事。
您可以使用
// main.js
import * as utils from './modules/utils';
utils.func1();
或
// modules/index.js
export * from './utils.js';
// main.js
import * as modules from './modules';
modules.func1();
或
// modules/index.js
import * as utils from './utils.js';
export { utils }
// export * as utils from './utils.js' is proposed and supported by transpilers
// main.js
import { utils } from './modules';
utils.func1();
(您也可以从index.js默认导出utils
,但这没有用)
如果你想让一个utils
对象从utils.js导出的函数作为方法,那么我会推荐第一种或最后一种方法。当然,如果modules
文件夹中只有一个文件,那么删除它并将你的utils模块放在根文件夹中也是明智的。