как отладить сервер apollo узла с помощью веб-пакета - PullRequest
0 голосов
/ 09 июня 2018

Я пытаюсь отладить приложение-сервер Express Apollo, и я пытаюсь понять, что не так.У меня есть сборка веб-пакета с включенными исходными картами и отладкой параметров загрузчика, установленной в true.

Мой скрипт npm, который выводит мою сборку веб-пакета и URL-адрес для отладчика

"debug": "node --inspect ./node_modules/.bin/webpack --config ./webpack.dev.js"

Iперейдите к отладчику через chrome://inspect, и я смогу просмотреть свой код, но когда я отправляю запросы через http://localhost:8080/graphiql, внутри отладчика ничего не происходит, и запрос проходит как обычно.

вот мой конфиг веб-пакета

const webpack = require("webpack");
const path = require("path");
const nodeExternals = require("webpack-node-externals");
const StartServerPlugin = require("start-server-webpack-plugin");
module.exports = {
  entry: ["./server.js"],
  watch: true,
  mode: "development",
  target: "node",
  node: {
    __filename: true,
    __dirname: true
  },
  externals: [nodeExternals({ whitelist: ["webpack/hot/poll?1000"] })],
  module: {
    rules: [
      {
        test: /\.js?$/,
        use: [
          {
            loader: "babel-loader",
            options: {
              babelrc: false,
              presets: [["env", { modules: false }], "stage-0"],
              plugins: ["transform-regenerator", "transform-runtime"]
            }
          }
        ],
        exclude: /node_modules/
      }
    ]
  },
  plugins: [
    new StartServerPlugin("server.js"),
    new webpack.NamedModulesPlugin(),
    new webpack.LoaderOptionsPlugin({
      debug: true
    }),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.SourceMapDevToolPlugin({
      filename: '[name].js.map'
    }),
    new webpack.NoEmitOnErrorsPlugin(),
    new webpack.DefinePlugin({
      "process.env": { BUILD_TARGET: JSON.stringify("server") }
    })
  ],
  output: { path: path.join(__dirname, "dist"), filename: "server.js" }
};

Мой вопрос, есть ли какие-то дополнительные проблемы, которые мне нужно пройти, чтобы заставить его работать с сервером GraphQL? Правильно ли настроены исходные карты?

любая помощь приветствуется.

1 Ответ

0 голосов
/ 10 июня 2018

Я исправил это, запустив процесс узла и запустив конфигурацию веб-пакета в parrell, используя nodemon и одновременно

https://github.com/remy/nodemon
https://www.npmjs.com/package/concurrently

"debug": "concurrently \"webpack --config ./webpack.dev.js\" \"nodemon --inspect=9229 ./dist/server.js\""

Я также добавил devtool: 'eval-source-map' в конфигурацию своего веб-пакета, чтобы включить исходные карты.

Я также удалил плагин запуска сервера из конфигурации веб-пакета, чтобы по сути сделать веб-пакет просто строящим и nodemonпорция.

...