说我想在 npm 包中共享一个简单的 react 组件,让其他人使用它,我必须这样做吗?
import SomeComponent from './components/SomeComponent';
module.exports = {
SomeComponent: SomeComponent
}
引用
https://github.com/alanbsmith/npm-example-module/blob/master/lib/index.js
在项目的 package.json 中可以看到包的主文件是 build/index.js,但是为什么作者不直接导出
components/SomeComponent
,而是创建了一个包装器呢?我知道他使用 babel,这是为了支持旧浏览器的代码,但为什么在这种情况下使用 module.exports? 最佳答案
如果您使用 es6 导入,您也应该使用 es6 导出以保持一致性。
import SomeComponent from './components/SomeComponent'
export { SomeComponent }
并在您的 package.json
中将 main
字段设置为构建后的文件。如{
"main": "lib/index.js"
}
然后人们可以像这样导入它:import { SomeComponent } from 'my-lib'
但是,您所遵循的示例看起来确实过时了,并且没有遵循很多好的做法。 Here's a more modern-looking solution that you'll probably have less trouble with.