Webpack DevServer - это простой http-сервер, его назначение - обслуживать статические файлы, такие как html, css, js, images ... (если вы не используете его в качестве промежуточного программного обеспечения в приложении nodejs)
ОбычноВы должны использовать опцию proxy
, описанную здесь , указывая на ваш apache
или nginx
сервер, на котором обычно работает ваше веб-приложение на основе php
.
Редактировать на основена ваши комментарии ниже
Прежде всего вы должны использовать домен .test
для локального сервера разработки.См. эту статью .Вы не можете использовать test.io
, как сейчас в вашем коде (test.io - это существующий сайт в сети).Сначала сделайте веб-сайт, который вы разрабатываете, доступным на http://yoursitename.test
или http://localhost
, если вы используете только этот сайт.Для этого вам нужен веб-сервер типа apache
или nginx
.Webpack не будет обслуживать сайт php
для вас, это не для этого ...
Вы также должны использовать лучшую структуру каталогов для файлов приложений.Вот пример для общего использования:
├── src
├── js
└── css
└── public
├── build
└── images
Тогда ваш webpack.config.js
может выглядеть примерно так (с использованием приведенной выше структуры):
const path = require('path');
const devMode = process.env.NODE_ENV !== "production";
let conf = {
mode: devMode ? "development" : "production",
entry: {
index: './src/js/index.js'
},
output: {
path: path.join( __dirname, 'public/build' ),
publicPath: '/build/',
filename: '[name].js'
},
devServer: {
index: '',
open: true,
overlay: {
warnings: true,
errors: true
},
host: 'yoursitename.test',
proxy: {
'**': {
target: 'http://yoursitename.test',
changeOrigin: true,
}
}
}
};
module.exports = conf;
Изменения, необходимые для вашего package.json
:
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --progress",
"build": "cross-env NODE_ENV=production webpack -p --progress",
"start": "cross-env NODE_ENV=development webpack-dev-server --inline --hot --open"
}
Как расширить свои знания
Я должен сказать вам, что эти вещи являются основами Webpack, и если вы все еще не можете сделать этоваше приложение работает, вы должны прочитать много документации и статей о Webpack (как я делал, когда я был новичком в этом).
Начните здесь и пройдитесь по всем пунктам слева, Руководства предоставят вам множество примеров, а конфигурация будет полезна, если вы хорошо знаете основы ...