我正在尝试使用webpack创建一个库。我的主要目标主要是发布ES6模块文件,以便我的客户端应用程序以及导入和摇动该库。 (它应该是一个图标库,以便用户可以将其在应用程序中使用的图标捆绑在一起。)
我有一个将umd模块构建为dist的库,并且已经将package.json中的module
字段设置为src目录文件,该文件导出了我的所有图标。
每个图标都是一个React组件。我已经导入了React和PropTypes来创建它们,并将它们设置为webpack配置中的外部对象,但是在这种情况下,我认为这并不重要,因为...
我制作了一个测试应用程序,该程序将npm链接到我的库,并从我的模块中导入了我的一个图标组件。肯定要去源文件,但是我在应用程序中的webpack无法解析这些模块中的react
和prop-types
。它抱怨每个组成部分。
例如:
Module not found: Error: Can't resolve 'react' in '/code/svg-icons/src/components'
@ ../svg-icons/src/components/AlertIcon.js
@ ../svg-icons/src/index.js
@ ./src/index.js
我认为这是有道理的,因为我库中的AlertIcon模块没有node_module目录来查找react
。
我如何让其他应用程序提供react
,prop-types
,以及我想在库的源模块中导入的其他内容?
答案 0 :(得分:0)
对于您的svg-icons
包,您只需要通过Babel运行它,然后将其移植到ES5就可以了。
您的依赖于svg-icons
的应用程序将是用webpack
构建的应用程序,它将负责将导入的图标捆绑到您的应用程序包中。
Kent C. Dodds on egghead.io开设了一门很棒的免费课程。它将为您清除该主题上的所有内容。