首页 > 解决方案 > 将箭头函数移动到另一个导出的函数

问题描述

我有个问题。我想清理我的代码并将函数放入另一个文件,但我总是得到一个错误:

getMe is not a function

为什么?我想在已经导出的函数 getExchangeRateIntent 中使用它。这会导致问题吗?

外部.js

const getRate = (base) => {
  console.log('My base currency is '+base);
};

module.exports = {getRate};

getRate.js

const getMe = ('./outside.js');

module.exports = {

  'getExchangeRateIntent': (conv, parameter) => {
    const currencyBase = (parameter['currencyBase']);
    const currencyTarget = (parameter['currencyTarget']);
    const amount = (parameter['amount']);
    console.log(currencyBase);
    console.log(currencyTarget);
    console.log(amount);

    getMe('USD');

    conv.ask('nothing');
  },

};

标签: node.jsarrow-functions

解决方案


module.exports = {getRate};您正在导出一个对象。随着您的进口:

const getMe = ('./outside.js');

您正在导入一个对象。所以这不是一个函数。这也不是正确的导入。

为了正确导入,您可以编写如下内容:

import {getRate} from './outside.js;

并像这样使用它:

getRate('USD');

或者,如果您想使用要求:

const getMe = require('./outside.js');

然后你可以在第二种情况下调用这样的函数:

getMe.getRate('USD')


推荐阅读