Webpack скомпилирован, но не запускает внутренний код - PullRequest
0 голосов
/ 29 ноября 2018

Я работаю над упаковкой своего проекта в SDK с помощью веб-пакета.В проекте используется React на стороне клиента и Node.js + express для бэкенда.Поэтому я пытаюсь связать и мой внешний, и внутренний код.

Что я сделал до сих пор: Я запускаю проект без веб-пакета.Так что мои коды были подтверждены для работы.Я был в состоянии связать их обоих в веб-пакет, не вызывая ошибки.Когда я иду "npm run start", клиентская сторона отображается правильно.Однако код на стороне сервера, похоже, не запускается.

Мой webpack.config.js:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const HtmlWebPackPlugin = require("html-webpack-plugin");
const nodeExternals = require("webpack-node-externals");

module.exports = [
    {
        /*Client Side bundle*/
        module: {
            rules: [
                {
                    test: /\.(js|jsx)$/,
                    exclude: /node_modules/,
                    use: {
                        loader: "babel-loader"
                    }
                },
                {
                    test: /\.html$/,
                    use: {
                        loader: "html-loader",
                        options: { minimize: true }
                    }
                },
                {
                    test: /\.css$/,
                    use: [MiniCssExtractPlugin.loader,"css-loader"]
                }
            ]
        },
        plugins: [
            new HtmlWebPackPlugin({
                template: "./public/index.html",
                filename:"./index.html"
            }),
            new MiniCssExtractPlugin({
                filename: "[name].css",
                chunkFilename:"[id].css"
            })
        ]
    },
    {
        /*Config for backend code*/ 
        entry: './src/server/server.js',
        target: 'node',
        output: {
            filename: 'server.js'
        },
        externals: [nodeExternals()]
    }
]

Мой package.json:

  "scripts": {
    "start": "webpack-dev-server --open --mode development",
    "dev": "webpack --mode development",
    "build": "webpack --mode production",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "proxy": {
    "/*": {
      "target": "http://localhost:3001"
    }
  },
  "devDependencies": {
    "@babel/core": "^7.1.6",
    "@babel/preset-env": "^7.1.6",
    "@babel/preset-react": "^7.0.0",
    "babel-loader": "^8.0.4",
    "css-loader": "^1.0.1",
    "html-loader": "^0.5.5",
    "html-webpack-plugin": "^3.2.0",
    "mini-css-extract-plugin": "^0.4.4",
    "webpack": "^4.25.1",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.10",
    "webpack-node-externals": "^1.7.2"
  }
}

После того, как язапустить npm запустить сборку, моя папка dist генерирует main.js и server.js.Когда я запускаю npm, запускаю запуск.Клиентская сторона работает нормально.Тем не менее, когда я пытаюсь вызвать конечную точку на node.js.Это дает мне POST http://localhost:8080/test 404 (Not Found).

В чем мне нужна помощь: Я пытаюсь запустить свой внутренний код с помощью Webpack.Одна вещь, которую я заметил, это то, что когда я запускаю свой проект без, локальный хост был установлен на localhost:3000.Когда я запускал его через веб-пакет, это было localhost:8080.В файле package.json я установил прокси на 3001, это была проблема?Как мне заставить мой внутренний код работать в веб-пакете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...