Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包:定义';查询';多台装载机,配备react hot和babel_Javascript_Webpack_Babeljs - Fatal编程技术网

Javascript 网页包:定义';查询';多台装载机,配备react hot和babel

Javascript 网页包:定义';查询';多台装载机,配备react hot和babel,javascript,webpack,babeljs,Javascript,Webpack,Babeljs,更新:多亏了@bebraw,解决方案是使用新的巴别塔预设: 请注意,react hot已经被弃用,现在有一个相当于babel的插件。npmjs.com/package/babel-preset-react-hmre为您进行设置 具体错误是: 无法在加载器列表中定义“查询”和多个加载器 link是指遇到相同错误但有不同解决方案的人 理想情况下,我可以运行这样的程序: module: { loaders: [ { test: /\.js$/,

更新:多亏了@bebraw,解决方案是使用新的巴别塔预设:


请注意,react hot已经被弃用,现在有一个相当于babel的插件。npmjs.com/package/babel-preset-react-hmre为您进行设置

具体错误是:

无法在加载器列表中定义“查询”和多个加载器

link是指遇到相同错误但有不同解决方案的人

理想情况下,我可以运行这样的程序:

module: 
  {
    loaders: [
      {
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        exclude: /node_modules/,
        include: path.join(__dirname, 'app'),
        query: {
          stage: 0,
          plugins: ['./babelRelayPlugin']
        }
      },
var babelRelayPlugin   = require('babel-relay-plugin');
var introspectionQuery = require('graphql/utilities').introspectionQuery;
var request            = require('sync-request');

var graphqlHubUrl = 'http://www.GraphQLHub.com/graphql';
var response = request('GET', graphqlHubUrl, {
  qs: {
    query: introspectionQuery
  }
});

var schema = JSON.parse(response.body.toString('utf-8'));

module.exports = babelRelayPlugin(schema.data, {
  abortOnError: true,
});
{
  test: /\.js$/,
  loaders: ['react-hot'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app')
},
{
  test: /\.js$/,
  loaders: [babel'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app'),
  query: {
    stage: 0,
    plugins: ['./babelRelayPlugin']
  }
}
我希望通过Babel运行的东西通过
babelRelayPlugin
,这是一个
js
文件,位于
/

我的
babelRelayPlugin.js
文件如下所示:

module: 
  {
    loaders: [
      {
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        exclude: /node_modules/,
        include: path.join(__dirname, 'app'),
        query: {
          stage: 0,
          plugins: ['./babelRelayPlugin']
        }
      },
var babelRelayPlugin   = require('babel-relay-plugin');
var introspectionQuery = require('graphql/utilities').introspectionQuery;
var request            = require('sync-request');

var graphqlHubUrl = 'http://www.GraphQLHub.com/graphql';
var response = request('GET', graphqlHubUrl, {
  qs: {
    query: introspectionQuery
  }
});

var schema = JSON.parse(response.body.toString('utf-8'));

module.exports = babelRelayPlugin(schema.data, {
  abortOnError: true,
});
{
  test: /\.js$/,
  loaders: ['react-hot'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app')
},
{
  test: /\.js$/,
  loaders: [babel'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app'),
  query: {
    stage: 0,
    plugins: ['./babelRelayPlugin']
  }
}

问题是,您不能使用多个加载程序并进行
查询
。我认为解决方案存在于使用
内联的“查询参数”中,但我已经尝试了许多可能的解决方案,但无法使其工作

请注意,react hot已经被弃用,现在有了一个等价的巴别塔插件。npmjs.com/package/babel-preset-react-hmre为您进行设置

或者,您可以按如下方式拆分配置:

module: 
  {
    loaders: [
      {
        test: /\.js$/,
        loaders: ['react-hot', 'babel'],
        exclude: /node_modules/,
        include: path.join(__dirname, 'app'),
        query: {
          stage: 0,
          plugins: ['./babelRelayPlugin']
        }
      },
var babelRelayPlugin   = require('babel-relay-plugin');
var introspectionQuery = require('graphql/utilities').introspectionQuery;
var request            = require('sync-request');

var graphqlHubUrl = 'http://www.GraphQLHub.com/graphql';
var response = request('GET', graphqlHubUrl, {
  qs: {
    query: introspectionQuery
  }
});

var schema = JSON.parse(response.body.toString('utf-8'));

module.exports = babelRelayPlugin(schema.data, {
  abortOnError: true,
});
{
  test: /\.js$/,
  loaders: ['react-hot'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app')
},
{
  test: /\.js$/,
  loaders: [babel'],
  exclude: /node_modules/,
  include: path.join(__dirname, 'app'),
  query: {
    stage: 0,
    plugins: ['./babelRelayPlugin']
  }
}

请注意,装载机的评估从右到左,从下到上。因此订购。

请注意,react hot已被弃用,现在有一个等效的babel插件。为你做设置。啊!谢谢@bebraw。我退出比赛太久了,没关系。也许我们可以解决这个问题。答案应该是将其拆分。顺便说一句,我将在顶部更新它并引用您的评论。我将我的评论移动到了一个答案。谢谢+1: