使用导出默认值的npm软件包不是功能错误

时间:2020-07-12 03:44:04

标签: javascript node.js npm

我发布了一个npm软件包。目录结构类似于以下内容:

my-package
└── js/script.js
└── index.js

js/script.js文件包含一个对象,该对象就是我的库的名称,比方说elephant。像这样:

var elephant = {
    function_1: function() {
        ...
    },
    function_2: function() {
        ...
    }
}

在我的index.js文件中,我这样导出:

import { elephant } from "./js/script.js";

export default elephant;

发布并安装软件包后,我尝试使用以下代码行在项目中使用它:

const elephant = require('my-package');
elephant.function_1();
elephant.function_2();

但是,不幸的是,当我运行开发服务器(在Vue项目中)时,出现以下错误:

"TypeError: elephant.function_1 is not a function"

我在做什么错?该功能已经明确定义,并且可以导出,但是未检测到该功能。任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

我不太确定它是否可以在这里工作,但是我使用这种语法效果很好。您可以在开发服务器上尝试。这是给index.js的。

export {
    elephant
} from './js/script.js';

elephant导出您的js/script.js

var elephant = {
    function_1: function() {
        ...
    },
    function_2: function() {
        ...
    }
}

export default elephant;

对于ES5和更低版本的javascript版本,请改用以下语法:

module.exports = elephant;