为什么在 webpack 构建上没有定义错误'document'?



我准备在Heroku上放置一个小的React应用程序,并正在处理生产配置。当我运行npm run build时,所有工作都可以。但是,当我运行构建文件node dist/dist.js时,我会收到错误:

ReferenceError: document is not defined

我应该使用其他CSS加载器吗?我的webpack.deployment.config.js如下:

    const path = require('path');
const webpack = require('webpack');
module.exports = {
  devtool: 'source-map',
  entry: [
    './client/index.js'
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: './dist/'
  },
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      minimize: true,
      compress: {
        warnings: false
      },
      sourceMap: true
    })
  ],
  module: {
    loaders: [{
      test: /.jsx?$/,
      loader: 'babel-loader',
      include: path.join(__dirname, 'client'),
      exclude: /node_modules/,
      query: {
        presets: ['es2015', 'react']
      }
    },
     { test: /.css$/, loader: "css-loader" },
     { test: /.(jpg|png|svg)$/, use: 'file-loader'}
    ]
  },
};

NPM模块jsdom可用于使窗口和文档在非浏览器环境中可用。