npm链接与webpack - 找不到模块
问题描述:
我想npm链接一个模块使用webpack作为其捆绑程序的项目。当然,尝试很多事情之后,我不断收到此错误:npm链接与webpack - 找不到模块
ERROR in ./src/components/store/TableView.jsx
Module not found: Error: Cannot resolve module 'react-bootstrap-table'
下面是这样做时,我采取的具体步骤:
1.) cd ../forks/react-bootstrap-table
2.) npm link
(success, checked ~/.nvm/.../node_modules/react-bootstrap-table for symlink and it's there)
3.) cd ../../projRoot/
4.) npm link react-bootstrap-table
(no errors thrown?, says successful link)
5.) node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js
解决方案我已经试过:
- https://webpack.github.io/docs/troubleshooting.html
- How to make a linked component peerDepdencies use the equivalent node_modules of the script being linked to?
- 而在谷歌许多紫色的链接SERP中
webpack.config.js
const webpack = require('webpack')
const path = require('path')
const ROOT_PATH = path.resolve(__dirname)
module.exports = {
devtool: process.env.NODE_ENV === 'production' ? '' : 'source-map',
entry: [
'webpack/hot/only-dev-server',
'./src/index.js'
],
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['react-hot','babel']
},
{
test: /\.scss$/,
loaders: ['style','css','sass'],
exclude: /node_modules/
},
{
test: /\.css$/,
loaders: ['style','css']
},
{
test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/,
loader: 'file-loader'
}
]
},
resolve: {
extensions: ['', '.js', '.jsx'],
fallback: path.resolve(__dirname, './node_modules')
},
resolveLoader: {
fallback: path.resolve(__dirname, './node_modules')
},
output: {
path: process.env.NODE_ENV === 'production' ? path.resolve(ROOT_PATH, 'app/dist') : path.resolve(ROOT_PATH, 'app/build'),
publicPath: '/',
filename: 'bundle.js'
},
devServer: {
contentBase: path.resolve(ROOT_PATH),
historyApiFallback: true,
hot: true,
inline: true,
progress: true,
stats: 'errors-only',
host: '192.168.1.115'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
]
}
注:
1.这是该项目的唯一符号链接
2.我跑故宫内安装分叉版本(也试过没有,没有按” t工作)
3.我使用NVM,但我没有成功使用webpack之前使用了符号链接。
我已经在这里住了几天了,任何帮助将不胜感激。
答
好的家伙,这是特定于我的用例,但一定要按照所有说明来完全构建您符合链接的库。最初,我是一个npm安装和gulp构建,但这还不够。我不得不运行一些额外的命令来完成库的构建。
现在它的工作!如果仍然存在问题,请仔细阅读您符合链接的每个库的文档,并使用我的webpack配置作为解决外部库的模板。
答
我正面临着类似的问题与webpack
,并最终加入这个我webpack.config.js
:
module.exports = {
resolve: {
symlinks: false
}
};
这里是链接到webpack docs。由于你的问题发生在webpack
和他们的api上,所以我不知道根据你的问题我的答案还有多少相关性。但对于今天面临这个或类似问题的人来说,这可能是一个解决方案。作为待观察,仍有人抱怨:
- 的WebPack GitHub的Issue 1643
- 的WebPack GitHub的Issue 1866
我也是。坚果没有现有的答案被发现。问题是显而易见的 - babel/webpack不遵循或容纳符号链接 – Tim
这对我来说是一种显示屏。我为我的应用程序与我的应用程序一起开发了多个支持库,看起来我需要找到webpack的替代方案来支持此工作流程。 – Matt
有趣的事实:webpack **不支持npm链接。这是“有据可查的”,但@#$ *(很难找到。https://webpack.github.io/docs/troubleshooting.html#npm-linked-modules-doesn-t-find-their-dependencies。我们已经经常碰到这个问题,我们总是停止使用npm链接:如果你有一个fork,或者指向'require('../../../ yourfork')''尽可能多的'../',因为您需要到达fork目录,或者,使用github链接而不是npm semver指向自己的fork,或者(并且我们已经开始执行此操作)只是将您的fork复制到node_modules dir中开发工作。 –