gpt4 book ai didi

webpack - 如何使用 webpack 导入 .graphql 文件

转载 作者:行者123 更新时间:2023-12-04 12:51:55 25 4
gpt4 key购买 nike

尝试导入此文件:

subscription onNewNotification {
notification {
id
content
seen
}
}

运行 babel-node 编译整个过程时出现此错误: SyntaxError: .../graphql/NotificationSubscription.graphql: Unexpected token, expected ;
这是我的 webpack 加载器的样子:
module: {
loaders: [
{
test: /\.js?$/,
include: [
path.join(__dirname, 'client'),
path.join(__dirname, 'server/shared'),
],
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['react-hmre'],
},
},
{
test: /\.json?$/,
loader: 'json-loader',
},
{
test: /\.scss$/,
loaders: ['style-loader', 'css-loader', 'sass-loader'],
},
{ test: /\.css$/, loader: 'style-loader!css-loader' },

{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'file-loader?mimetype=image/svg+xml' },
{
test: /\.(graphql|gql)$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader',
},
],


},

不知道为什么会发生这种情况,我正在关注 Apollo 文档,但我在谷歌上没有看到任何关于此的信息: http://dev.apollodata.com/react/webpack.html

最佳答案

嗯,我也有同样的问题。在与 apollo slack channel 上的家伙交谈后,我们开始调试并发现问题所在。我们发现问题出在 'babel-register' 以某种方式试图编译 .graphql文件,即使规则要忽略。所以你可以走两条路:

  • 更容易做到:
    您可以创建一个 js 文件来保存查询并使用 react-apollo 上的 gql 函数创建它们,而不是创建一个 graphql 文件。打包并导出为变量。
  • 更复杂:
    如果你使用 webpack,你可以创建一个配置,将你所有的服务器代码编译成一个包,并使用 node(没有 babel-node 或 babel-register)运行包,就像在 GitHunt-React 示例( https://github.com/apollographql/GitHunt-React )中一样。它不像第一个那么简单,但更优雅。
  • 关于webpack - 如何使用 webpack 导入 .graphql 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44092376/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com