Не удается прочитать свойство 'search' из неопределенного - webpack-dev-server - PullRequest
0 голосов
/ 14 мая 2018

Немного контекста: я пытаюсь использовать static-site-generator-webpack-plugin для создания статического веб-сайта на стороне сервера в реакции.

Может ли кто-нибудь помочь мне, пожалуйста, со следующей ошибкой:

ERROR in TypeError: Cannot read property 'search' of undefined
    at Object.eval (webpack:///(webpack)-dev-server/client?:31:28)
    at eval (webpack:///(webpack)-dev-server/client?:248:30)
    at Object../node_modules/webpack-dev-server/client/index.js?http://localhost:8081 (evalmachine.<anonymous>:276:1)
    at __webpack_require__ (evalmachine.<anonymous>:30:30)
    at eval (webpack:///multi_(webpack)-dev-server/client?:1:1)
    at Object.0 (evalmachine.<anonymous>:377:1)
    at __webpack_require__ (evalmachine.<anonymous>:30:30)
    at evalmachine.<anonymous>:79:18
    at evalmachine.<anonymous>:82:10
    at webpackUniversalModuleDefinition (evalmachine.<anonymous>:3:20)

Я использую команду для запуска сервера: webpack-dev-server --mode development

Версии:

static-site-generator-webpack-plugin: ^3.4.1
webpack-cli: ^2.1.3
webpack: ^4.8.1,
webpack-dev-server: ^3.1.4
node: 8.11.1

Мой веб-пакет выглядит так:

/*global require, module*/
const path = require("path")
const ExtractTextPlugin = require("extract-text-webpack-plugin")
const StaticSiteGeneratorPlugin = require('static-site-generator-webpack-plugin')

module.exports = {
    entry: "./src/entry.js",
    output: {
        filename: 'index.js',
        path: path.resolve("dist"),
        libraryTarget: 'umd'
    },
    module: {
        rules: [
            {
                test: /\.scss$/,
                use: ExtractTextPlugin.extract({
                    fallback: "style-loader",
                    use: ["css-loader", "sass-loader"]
                })
            },
            {
                test: /\.css$/,
                use: [
                    { loader: "style-loader" },
                    { loader: "css-loader" }
                ]
            },
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: "babel-loader"
            }
        ]
    },

    plugins: [
        new ExtractTextPlugin("dist/styles/main.css"),
        new StaticSiteGeneratorPlugin({
            paths: [
                '/'
            ],
            globals: {
                window: {}
            }
        })
    ]
}

И, наконец, файл ввода выглядит так:

module.exports = function render(locals) {
    return '<html>Hello World</html>'
}

Я благодарен за любые отзывы, касающиеся моей проблемы. Это первый раз, когда я использую этот плагин.

Ссылки:

1 Ответ

0 голосов
/ 16 мая 2018

Как упоминал Лукас-Рейнеке в комментарии выше:

Плагин не обновлялся долгое время. Вы пробовали с более старой версией веб-пакета? Это может просто не работать с 4.

У меня все работает с webpack 2.3.3 и webpack-dev-server 1.16.4

Также для всех, кто интересуется эталонным шаблоном, я обнаружил реакцию изоморфного эталонного статического компоновочного генератора генератора , использующего этот плагин.

...