我想在发布该组件之前在主仓库中测试我的依赖关系。因此,我在客户端使用webpack.resolve.alias
看起来不错,但在服务器端却无法使用。在服务器端,它仍然引用node_modules
而不是别名路径。在我的webpack配置中,我有2个捆绑包(服务器和客户端)。
resolve: {
alias: {
'@select/components': path.resolve(__dirname, '../../components/packages/components/src'),
react: path.join(__dirname, "../node_modules/react"),
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
"styled-components": path.join(__dirname, "../node_modules/styled-components")
}
},
答案 0 :(得分:0)
对所有别名使用path.resolve:
resolve: {
alias: {
'@select/components': path.resolve(__dirname, '../../components/packages/components/src'),
'react': path.resolve(__dirname, '../node_modules/react'),
'react-dom': path.resolve(__dirname, '../node_modules/react-dom'),
'styled-components': path.resolve(__dirname, '../node_modules/styled-components')
}
},
从技术上讲,join
和resolve
与__dirname
都应得到相同的结果,但我个人更喜欢使用path.resolve
作为别名。
关于join vs resolve的解释很好。