npm链接webpack - 找不到模块

bmi*_*lls 13 javascript node.js npm nvm webpack

我正在尝试使用webpack作为捆绑器将模块链接到项目.当然,在尝试了很多东西后,我不断收到这个错误:

ERROR in ./src/components/store/TableView.jsx
Module not found: Error: Cannot resolve module 'react-bootstrap-table'
Run Code Online (Sandbox Code Playgroud)

以下是我执行此操作时的确切步骤:

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
Run Code Online (Sandbox Code Playgroud)

我试过的解决方案:
- https://webpack.github.io/docs/troubleshooting.html
- 如何使链接组件peerDepdencies使用链接到的脚本的等效node_modules?
- 谷歌服务上的许多紫色链接

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()
  ]
}
Run Code Online (Sandbox Code Playgroud)

注意:
1.这是项目中唯一的符号链接
2.我在分叉版本中运行npm install(也试过没有,不起作用)
3.我使用NVM,但我在没有webpack成功之前使用了符号链接.

我已经在这几天了,任何帮助都会非常感激.

Bea*_*eat 22

我遇到了类似的问题,webpack最后添加了 my webpack.config.js

module.exports = {
    resolve: {
        symlinks: false
    }
};
Run Code Online (Sandbox Code Playgroud)

这是webpack 文档的链接。由于你的问题webpack和他们的api发生了很多事情,所以我不知道根据你的问题我的答案还有多少相关性。但是对于今天面临这个或类似问题的人来说,这可能是一个解决方案。可见,还是有人抱怨:

  • 阅读其他人的评论,这具有破坏 HMR 的缺点,因此当应用程序运行时,当在其原始位置更新依赖项时,它不会重新加载。 (2认同)