簡體   English   中英

ES6導入,導出=錯誤:參數無效

[英]ES6 imports, exports = Error: invalid argument

我有這個設置

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

您必須在導入中添加./ ,並在導出中default

File1.js

export default function foo1()

hook.js

import {foo1} from './File1'

否則,它將在node_modules中搜索File1

參考

在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};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM