通过npm安装自己编写的库时,导入始终未定义

时间:2017-08-20 10:02:33

标签: javascript

我是第一次创作一个小型JS库,在使用该库时我遇到了导入工作的问题。

库结构如下:

.
├── src
│   ├── Element.js
└── index.js

Element.js

function Element() {
    console.log('I am Element');
}

export default Element;

index.js

export { Element } from './src/Element';

现在,在通过npm安装库并导入库时,导入为undefined。像这样:

import { Element } from 'my-lib';
console.log(Element); // undefined

我想某处有错误,但我找不到它!你能发现任何错误吗?

1 个答案:

答案 0 :(得分:1)

您的错误可以通过以下两种方式解决;通过更改digit或更改其他两个脚本:

Element.js

Element.js

在这种情况下,指定的导入将正确引用您的函数。

... export Element;

index.js

export Element from './src/Element';
...

在这种情况下,您要导出/导入import Element from 'my-lib'; 的默认命名空间而不是命名空间。

此语法的相关文档可以在MDN importMDN export找到,如果我可以提供一些建议,您真的应该编写一个测试脚本来确认您的库工作正常,然后将它附加到Element.js,就像这样:

package.json

或者你想要执行它,无论是mocha等。如果测试脚本中的一个测试失败,这样做会阻止你的库发布。