首页 文章

生产环境 中的Webpack:为什么React Native错误?

提问于
浏览
2

我有一个安装了以下测试应用程序:

"dependencies": {
  "express": "^4.14.0",
  "react": "^15.3.2",
  "react-dom": "^15.3.2"
},
"devDependencies": {
  "babel": "^6.5.2",
  "babel-core": "^6.18.2",
  "babel-loader": "^6.2.7",
  "babel-preset-es2015": "^6.18.0",
  "babel-preset-react": "^6.16.0",
  "webpack": "^1.13.3"
}

我的 webpack.config.js

module.exports = {
  entry: {
    'bundle': './client/index.js'
  },
  output: {
    path: './public',
    filename: 'js/[name].js'
  },
  plugins: [
    new webpack.ProvidePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify('production')
      }
    })
  ],
  module: {
    loaders: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel-loader',
        query: { presets: ['es2015', 'react'] }
      }
    ]
  }
}

为什么我会得到这些 React Native 相关的错误.. ??我不是想使用React Native!

(当我删除 webpack.ProvidePlugin() 时,错误消失了,但我需要React的 生产环境 版本) .

./~/react/lib/NativeMethodsMixin.js中的错误找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @中解析模块'react-native / lib / TextInputState' ./~/react/lib/NativeMethodsMixin.js 17:21-63错误在./~/react/lib/NativeMethodsMixin.js找不到模块:错误:无法在C中解析模块'react-native / lib / UIManager': \ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/NativeMethodsMixin.js 18:16-53 ERROR in ./~/react/lib/ReactNativeBaseComponent.js找不到模块:错误:无法解析模块'react-native / lib / UIManager'在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeBaseComponent.js 22:16-53 ERROR in ./ 〜/ react / lib / ReactNativeBaseComponent.js找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react中解析模块'react-native / lib / deepFreezeAndThrowOnMutationInDev' /lib/ReactNativeBaseComponent.js 24:40-101 ERROR in ./~/react/lib/ReactNativeAttributePaylo ad.js找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeAttributePayload.js中解析模块'react-native / lib / deepDiffer' 16:17-55 ERROR in ./~/react/lib/ReactNativeAttributePayload.js找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \中解析模块'react-native / lib / flattenStyle' react \ lib @ ./~/react/lib/ReactNativeAttributePayload.js 17:19-59 ERROR in ./~/react/lib/ReactNativeBridgeEventPlugin.js找不到模块:错误:无法解析模块'react-native / lib / UIManager '在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeBridgeEventPlugin.js 20:16-53 ERROR in ./~/react/lib/ReactNativeDOMIDOperations.js模块没有发现:错误:无法解析模块'react-native / lib / UIManager'在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeDOMIDOperations.js 15:16-53错误在./~/react/lib/ReactNativeDefaultInjection.js找不到模块:Erro r:无法解析模块'react-native / lib / InitializeJavaScriptAppEngine'在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeDefaultInjection.js 23:0-57 ERROR in ./~/react/lib/ReactNativeDefaultInjection.js找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~中解析模块'react-native / lib / RCTEventEmitter' /react/lib/ReactNativeDefaultInjection.js 27:22-65 ERROR in ./~/react/lib/ReactNativeDefaultInjection.js找不到模块:错误:无法在C:\ node \中解析模块'react-native / lib / View' sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeDefaultInjection.js 79:15-47 ERROR in ./~/react/lib/ReactNativeGlobalResponderHandler.js找不到模块:错误:无法解析模块'react-native / lib / UIManager'在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeGlobalResponderHandler.js 13:16-53 ERROR in ./~/react /lib/ReactNativeMount.js找不到模块:错误:不能r esolve模块'react-native / lib / UIManager'在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNativeMount.js 21:16-53 ERROR in ./~ /react/lib/ReactNativeTextComponent.js找不到模块:错误:无法在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/中解析模块'react-native / lib / UIManager' lib / ReactNativeTextComponent.js 19:16-53 ERROR in ./~/react/lib/ReactDOMFiber.js找不到模块:错误:无法解析'file'或'directory'./ReactFiberReconciler in C:\ node \ sandbox \ react -webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactDOMFiber.js 15:27-60 ./~/react/lib/ReactNoop.js中的错误找不到模块:错误:无法解析'文件'或'目录'./ReactFiberReconciler在C:\ node \ sandbox \ react-webpack \ node_modules \ react \ lib @ ./~/react/lib/ReactNoop.js 22:27-60

1 回答

  • 2

    使用DefinePlugin而不是ProvidePlugin . 这是用于此用例的插件 .

    我不明白是什么引发了这些错误 . 我认为 react 确实包含一些特定于 react-native 的代码 .

相关问题