«Требуется не определено» при использовании Node / Webpack / Google Cloud Storage - PullRequest
0 голосов
/ 11 марта 2019

Я создаю приложение, используя Node / React / Webpack. Я хочу сохранить свои фотографии на сервере Google Cloud Storage, но, следуя документации, я получаю сообщение об ошибке веб-пакета

Uncaught ReferenceError: require is not defined
    at eval (storage":1)
    at Object.@google-cloud/storage (index_bundle.js:5038)

Я думаю, что это может быть проблемой загрузчика, когда браузер читает код, предназначенный для Node, но я не очень знаком с веб-пакетом. Итак, мне трудно это устранить.

Ниже приведен мой файл webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.join(__dirname, '/dist'),
    filename: 'index_bundle.js',
    publicPath: '/'
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        use:  [{
          loader: 'babel-loader',
        }],
        exclude: /node_modules/,
      },
      {
        test: /\.css$/,
        use:  ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use:      'css-loader',
        }),
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader'
        }
      },
      {
        test: /\.(jpe?g|png|gif)$/i,
        use: {
          loader: 'file-loader',
        }
      }
    ]
  },
  externals: {
    '@google-cloud/storage': 'commonjs @google-cloud/storage'
  },
  devServer: {
    historyApiFallback: true,
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './src/index.html'
    }),
    new ExtractTextPlugin('css/[name].css', {
      allChunks: true,
    }),
  ]
}
...