Похоже, сервер веб-пакетов не обслуживает файлы - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь настроить новый проект, и у меня возникли небольшие проблемы с webpack-dev-server, похоже, клиент успешно компилируется, но я не могу просмотреть index.html или main.js, они просто не кажутся быть доступным. Я пробовал несколько различных настроек конфигурации веб-пакетов, но ни одна из них, похоже, не работает.

У меня есть проект, в котором есть каталог клиента и сервера, структура папок выглядит следующим образом:

> project
    > dist
    > src
        > client
            client.tsx
            webpack.config.js
        > server
    package.json

В package.json у меня есть скрипт клиента dev: "dev-client": "cd ./src/client && webpack-dev-server -w",

мой webpack.config.js выглядит примерно так (я немного изменил его, пытаясь заставить это работать):

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

const projectRoot = path.join(__dirname, "..", "..");

module.exports = {
    devtool: "inline-source-map",
    mode: "development",
    entry: "./client",
    output: {
        path: path.join(projectRoot, "dist", "public"),
        publicPath: "/public/",
    },
    resolve: {
        extensions: [".js", ".ts", ".tsx"],
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                use: {
                    loader: "ts-loader",
                },
            },
            {
                test: /\.scss$/,
                use: [
                    {
                        loader: "style-loader",
                    },
                    {
                        loader: "css-loader",
                    },
                    {
                        loader: "sass-loader",
                    },
                ],
            },
            {
                test: /\.(jpe?g|gif|png|svg|woff|woff2|ttf|eot)$/,
                use: {
                    loader: "url-loader",
                    options: {
                        limit: 10000,
                    },
                },
            },
        ],
    },
    plugins: [
        new HtmlWebpackPlugin(),
    ],
    devServer: {
        contentBase: path.join(projectRoot, "dist"),
    },
}

Когда я запускаю npm run dev-client, я получаю сообщение об успехе i 「wdm」: Compiled successfully., но когда я перехожу к http://localhost:8080/, все, что я вижу, - это сервер, который компилируется в папку dist.

Информация о зависимостях:

"css-loader":          "^0.28.11",
"file-loader":         "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"node-sass":           "^4.9.0",
"sass-loader":         "^7.0.1",
"style-loader":        "^0.21.0",
"ts-loader":           "^4.2.0",
"url-loader":          "^1.0.1",
"webpack":             "^4.6.0",
"webpack-cli":         "^2.0.15",
"webpack-dev-server":  "^3.1.3"

1 Ответ

0 голосов
/ 29 апреля 2018

Итак, после нескольких испытаний я понял, что откат до 3.1.1 webpack-dev-server устранил проблему, и это привело меня к этой проблеме: https://github.com/webpack/webpack-dev-server/issues/1373

Что говорит о том, что проблема вызвана пробелами в пути проекта. Я удалил пробелы, и это сработало отлично.

Публикация здесь на случай, если у кого-то есть такая же проблема.

...