首页 > 解决方案 > 如何在 ES6 中访问和使用导入函数

问题描述

我无法访问导入的 labelsForCountryCode 函数。将“US”传递给此函数时,我希望返回 US 对象。我是 ES6 的新手,不完全确定我在这里做错了什么。感谢任何帮助!

帐单地址标签-lookup.js

export default function billingAddressLabelsLookup() {

const labelsLookup = {
  'US': {
    addressLineOne: 'Street/Address',
    city: 'City',
    provinceCode: 'State',
    postalCode: 'Zip Code'
  },
  'CA': {
    addressLineOne: 'Street/Address',
    city: 'City',
    provinceCode: 'Province',
    postalCode: 'Postal Code'
  }
};

return {
  labelsForCountryCode(countryCode) {
    return labelsLookup[countryCode];
  }
};

};

测试.js

 import billingAddressLabelsLookup from '../utils/billing-address-labels-lookup.js';

 var labels = billingAddressLabelsLookup.labelsForCountryCode('US');

标签: javascriptimportecmascript-6exportes6-modules

解决方案


只需更换:

var labels = billingAddressLabelsLookup.labelsForCountryCode('US');

和:

var labels = billingAddressLabelsLookup().labelsForCountryCode('US');
                                       ^^------ function call

否则,您将尝试访问函数引用的属性,而您需要访问函数的结果

关于导入导出,请具体看这一章:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export#Using_the_default_export


推荐阅读