我有这个设置
file1.js:
export function foo1() { ... };
file2.js:
export function foo2() { ... }
hook.js:
import {foo1} from './file1';
import {foo2} from './file2';
export {foo1, foo2};
现在,当我想从我的钩子中导入时:
app.js
import { foo1 } from '../data/hook.js';
我明白了:
Error: invalid argument
调用foo1时。 (该函数没有参数/参数)。
任何人都知道这是什么问题?
更新
直接从file1导入foo1时,我也得到invalid argument
。
这是一个巴别问题吗?
我的.babelrcb(我使用test作为环境):
"env": {
"targets": {
"node": "4.8.4"
},
"test": {
"presets": ["env"]
},
}
更新和解决方案:
事实证明导入是正确的,对于帮助我解决这个问题的所有人来说都是问题。问题是由于函数foo1中的Promise导致导入失败:
browser.waitUntil(..); // see http://webdriver.io/api/utility/waitUntil.html
答案 0 :(得分:1)
您必须在导入中添加./
,在导出
default
export default function foo1()
import {foo1} from './File1'
否则,它将在 node_modules
中搜索File1答案 1 :(得分:1)
file1和file2上缺少函数体。
file1.js:
export function foo1() {};
file2.js:
export function foo2() {};
在hook.js上,您应该导出默认值。
import {foo1} from './file1';
import {foo2} from './file2';
export default {foo1, foo2};