最近把自己(未完待续)的轮子库 cui-demo
尝试发布到 npm 上,在测试项目中尝试引用时,报了一个无情的错。
「不看废话版」
排除了我的代码问题后,这个报错的原因应该是我的轮子库没有成功获取到测试项目(宿主环境)的依赖react
和react-dom
。解决方法如下:
1. 在 webpack 配置中将react
和react-dom
标记为externals
(这同时要求output.libraryTarget
为umd
),使轮子库可以在运行时获取到宿主环境的依赖。即
// webpack.config.js
module.exports = {
// ...
externals: {
react: {
commonjs: 'react',
commonjs2: 'react',
amd: