簡體   English   中英

ES6導出和導入名稱功能?

[英]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.

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