我是第一次创作一个小型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
我想某处有错误,但我找不到它!你能发现任何错误吗?
答案 0 :(得分:1)
您的错误可以通过以下两种方式解决;通过更改digit
或更改其他两个脚本:
Element.js
:
Element.js
在这种情况下,指定的导入将正确引用您的函数。
...
export Element;
:
index.js
export Element from './src/Element';
...
在这种情况下,您要导出/导入import Element from 'my-lib';
的默认命名空间而不是命名空间。
此语法的相关文档可以在MDN import
和MDN export
找到,如果我可以提供一些建议,您真的应该编写一个测试脚本来确认您的库工作正常,然后将它附加到Element.js
,就像这样:
package.json
或者你想要执行它,无论是mocha
等。如果测试脚本中的一个测试失败,这样做会阻止你的库发布。