无法在webpack之后加载JSON:意外的令牌<在位置0的JSON中

时间:2016-07-22 02:44:54

标签: json node.js webpack

当我使用webpack-dev-server时,一切都很完美。 但是当使用“webpack”命令在服务器上部署我的应用程序时,我收到以下错误:

SyntaxError: Unexpected token < in JSON at position 0
  at Object.parse (native)
  at Object.<anonymous> (http://localhost:3389/bundle.js:24629:18)
  at XMLHttpRequest.respond (http://localhost:3389/bundle.js:24499:32)

我相信我收到的是XML而不是JSON。我不知道该怎么做。我正在使用来自'd3-request'的请求加载我的JSON文件。我的webpack.config.js看起来像:

var webpack = require('webpack')
var path = require('path')

module.exports = {
  context: path.join(__dirname, './app'),
  entry: {
    js: './index.js',
    html: './index.html',
  },
  output: {
    path: path.join(__dirname, './static'),
    filename: 'bundle.js',
  },
  module: {
    preLoaders: [
        { test: /\.json$/, loader: 'json'},
    ],
    loaders: [
      {
        test: /\.html$/,
        loader: 'file?name=[name].[ext]'
      },
      {
        test: /\.css$/,
        loaders: [
          'style-loader',
          'css-loader?modules&sourceMap&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
        ]
      },
      {
        // transpile es6/jsx code to es5
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loaders: [
          'babel-loader'
        ]
      },
      { test: /\.json$/,
        loader: "json-loader"
      }
    ],
  },
  resolve: {
    extensions: ['', '.js', '.jsx']
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js'),
    new webpack.DefinePlugin({'process.env': {
      NODE_ENV: JSON.stringify(process.env.NODE_ENV || 'development')
    }})
  ],
  devServer: {
    contentBase: './app',
    hot: true
  }
}

1 个答案:

答案 0 :(得分:0)

原来是服务器端的快速代码。我不小心通过拼写错误从Express.html获取了Express文件。 webpack没什么问题。