如何在JS中的另一个函数中导​​入和使用函数

时间:2019-05-17 07:33:24

标签: javascript function ecmascript-6 mean

我有一个主文件'index.js',我想在另一个js文件中导入并使用其中的功能。

我尝试使用require导入文件,但是没有用。有人可以帮我提建议。

Index.js,

   function dcLib() {
       function test() {
          console.log('Hi');
       }
       return {
          test:test
       }
  };
   export default dcLib;

column.js,

   const dcLib = require('../index');
   dcLib.test()    

上面的代码错误为

      TypeError: dcLib.test is not a function

1 个答案:

答案 0 :(得分:0)

可以:

const dcLib = require('../index');
dcLib.default().test();

...,或者,如果您愿意,也可以:

const dcLib = require('../index').default;
dcLib().test();

或者,以一种更简单的(ES6)方式执行:

import dcLib from './test';
dcLib().test();
如果您使用require而不是import

ES6导入和导出的行为会有所不同。而且,情况会根据环境而有所变化,并且最终会使用转译器(如果有)。进一步了解here, where Felix Kling made a pretty exhaustive overview about such argument

如评论中所述,我已经制作了一个可以在stackblitz上使用的示例,可以在两种情况下随意使用它:https://stackblitz.com/edit/js-3wwz8a?file=index.js