将箭头功能移至另一个导出的功能

时间:2018-12-08 16:20:42

标签: node.js arrow-functions

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

getMe is not a function

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

outside.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');
  },

};

1 个答案:

答案 0 :(得分:1)

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

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

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

对于正确的导入,您可以这样写:

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

并像这样使用它:

getRate('USD');

或者如果您想使用require:

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

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

getMe.getRate('USD')