Node.js npm链接的本地库需要节点单元模块,而git链接的库(相同)不需要';T
很抱歉标题不好(真的不知道我能给这个问题提供什么其他标题) 长话短说,作为第一次react组件库开发人员。我正在使用webpack4将我的组件库传输到一个模块 在我开始使用加速本地开发速度之前,一切都进展顺利 因此,主要的问题是,尽管我已经具体说明如下Node.js npm链接的本地库需要节点单元模块,而git链接的库(相同)不需要';T,node.js,reactjs,webpack,npm-link,Node.js,Reactjs,Webpack,Npm Link,很抱歉标题不好(真的不知道我能给这个问题提供什么其他标题) 长话短说,作为第一次react组件库开发人员。我正在使用webpack4将我的组件库传输到一个模块 在我开始使用加速本地开发速度之前,一切都进展顺利 因此,主要的问题是,尽管我已经具体说明如下 //webpack.fancy-react-component-lib.config.js ... externals: { react: { root: 'React', comm
//webpack.fancy-react-component-lib.config.js
...
externals: {
react: {
root: 'React',
commonjs2: 'react',
commonjs: 'react',
amd: 'react',
umd: 'react',
},
'react-dom': {
root: 'ReactDOM',
commonjs2: 'react-dom',
commonjs: 'react-dom',
amd: 'react-dom',
umd: 'react-dom',
},
}
...
//package.json
...
"dependencies": {},
"devDependencies": {
...
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-redux": "^7.0.3",
"react-router-dom": "^5.0.0",
...
},
"peerDependencies": {
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-redux": "^7.0.3",
"react-router-dom": "^5.0.0"
}
...
因此,如果我已经通过git语法导入了模块
"fancy-react-component-lib" :"git+ssh://git@bitbucket.org/fancy-react-component-lib.git#test1.0.11"
一切正常,在最终捆绑的js中只有一份react
但是如果我用npm链接绑定到项目文件夹,react的第二个副本将添加最终绑定的js
谁能告诉我为什么
谢谢既然没有人能提供更好的答案,我就在这里发布我是如何解决这个问题的 首先,npm链接只是一个符号链接。而不是像react的解决方案页面建议的那样使用npm链接。我试着让自己放松下来,而且效果很好
ln -s [your_fancy_lib_project] [project/node_moduels/your_fancey_lib_project]
您还需要在[your\u fancy\u lib]/node\u modules/react中创建链接,并
[your_fancy_lib]/node_moduels/react dom
[project]/node\u moduels/react和[project]/node\u moduels/react dom
ln -s [project/node_moduels/react] [your_fancey_lib_project/node_moduels/react]
ln -s [project/node_moduels/react-dom] [your_fancey_lib_project/node_moduels/react-dom]
当然,在创建符号链接之前,请记住清理文件夹。因为没有人能提供更好的答案,我将在这里发布我是如何解决这个问题的 首先,npm链接只是一个符号链接。而不是像react的解决方案页面建议的那样使用npm链接。我试着让自己放松下来,而且效果很好
ln -s [your_fancy_lib_project] [project/node_moduels/your_fancey_lib_project]
您还需要在[your\u fancy\u lib]/node\u modules/react中创建链接,并
[your_fancy_lib]/node_moduels/react dom
[project]/node\u moduels/react和[project]/node\u moduels/react dom
ln -s [project/node_moduels/react] [your_fancey_lib_project/node_moduels/react]
ln -s [project/node_moduels/react-dom] [your_fancey_lib_project/node_moduels/react-dom]
当然,记得在创建符号链接之前清理文件夹