[英]ES6 export and import name functions?
我有一些功能,我想將它們保存在外部js文件中。 例如。
在functions.js中
var double = function(x) {
return x + x;
}
export { double };
然后在我的主要js文件中:
import double from './functions';
...
double(2)
我收到此錯誤:
Uncaught TypeError: (0 , c.default) is not a function
at bundle.min.js:44
當我讀到44行時:
(0, _functions2.default)(2);
有什么想法嗎? 我錯過了什么?
您將默認和命名導出混淆。
如果export { double }
,則必須import { double } from './functions';
如果您只有一個導出,則最好使用默認導出:
export default double;
然后你可以import double from './functions':
原因是命名導出允許您僅導入模塊的一部分。 例如:
export function add (a, b) { return a + b; }
export function subtract (a, b) { return a - b; }
然后,您可以import { add } from './math.js';
沒有導入subtract
。
但是,如果僅從模塊導出一個函數,則默認導出更方便。
采用:
var double = function(x) {
return x + x;
}
export {double};
和
import {double} from './functions';
要么
出口默認雙倍;
和
從“./functions.js”導入double;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.