я сделал это, работая в моей настройке следующим образом.Не уверен, что не так в вашем коде, но вы можете попробовать и посмотреть, работает ли он :) Вы можете использовать следующий плагин js для него.Может быть, порядок плагинов имеет значение.Вот мой конфиг.Есть некоторый дополнительный код, но я уверен, что вы получите то, что вам нужно от него.Что касается версий библиотек "next": "6.1.1", "next-optimized-images": "1.4.1", "next-plugin-graphql": "^ 0.0.1",
const withSass = require("@zeit/next-sass");
const webpack = require("webpack");
const withGraphQL = require("next-plugin-graphql");
const withOptimizedImages = require("next-optimized-images");
module.exports = withOptimizedImages(
withGraphQL(
withSass({
cssModules: true,
cssLoaderOptions: {
importLoaders: 1,
localIdentName: "[local]___[hash:base64:5]"
},
webpack: config => {
config.plugins.push(
new webpack.ContextReplacementPlugin(
/graphql-language-service-interface[\\/]dist$/,
new RegExp(`^\\./.*\\.js$`)
)
);
return config;
}
})
)
);
Если вы предпочитаете просто изменить свой код и не устанавливать плагины, вы можете вдохновиться этим next-graphql-plugin .Плагин работает для меня, отличие от ваших настроек в том, что они настроили правило следующим образом
config.module.rules.push({
test: /\.(graphql|gql)$/,
include: [dir],
exclude: /node_modules/,
use: [
{
loader: 'graphql-tag/loader'
}
]
})