我正在创建带有大量自制函数的npm模块,然后可以将其导入到其他项目中。在我进行一些重构之前,它一直在起作用,现在无法弄清原因。

这是我的shuffle func声明,然后导出

const rhShuffle = function(array) {

}

module.exports = {
  rhShuffle
}


这是我导入它,然后再次导出它,以便它在项目外部可用。这是我在路由级别的index.js文件。请不要当我在这里直接声明该函数并将其导出时,它工作正常

import rhShuffle from './src/shuffle';

module.exports = {
  rhShuffle
}


然后在我的另一个项目中,我已将其导入并通过控制台记录了该日志,并显示:

_richsHelpers2.default.rhShuffle is not a function

当我控制台日志:

Object {rhShuffle: Object} "rh"

它说它是一个对象

最佳答案

选项1:src / shuffle.js

const rhShuffle = function(array) {

}
module.exports = {
  rhShuffle,
}


用法

var rhShuffle = require('./src/shuffle').rhShuffle;


选项2:src / shuffle.js

const rhShuffle = function(array) {

}
export default rhShuffle


用法

import rhShuffle from './src/shuffle';

09-25 18:17