PHP 백엔드에서 제공하는 ReactJS-App을 개발 중입니다. 내 로컬 컴퓨터에서 MAMP를 내 프로젝트의 루트를 가리키는 가상 호스트로 설정하고 webpack을 사용하여 내 React-App을 번들로 만듭니다.PHP 백엔드에 대한 ReactJS App - 로컬 머신에서 핫 리로드하는 방법?
뜨거운 재로드 작업을 정말 즐긴 이래로 이제는 Webpack dev 서버를 사용하여 MAMP를 프록시 처리하고 핫 로딩 반응 기능을 사용하지 않으려 고합니다.
아직 제대로 작동하지 않아서 구성을 도와 주길 바랍니다. 아니면 내 접근 방식이 기본적으로 작동하지 않습니까? 어쨌든, 내가 도와 주면 기쁠거야. 미리 감사드립니다! 여기에 내 webpack 설정이 있습니다 :
const webpack = require('webpack');
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const StyleLintPlugin = require('stylelint-webpack-plugin');
module.exports = {
devtool: 'cheap-module-source-map',
devServer: {
port: 3000,
proxy: {
'*': {
target: 'http://my-virtual-host.dev:8888/',
}
}
},
entry: [
'./src/app.jsx'
],
output: {
path: path.join(__dirname, 'build'),
filename: 'bundle.js',
publicPath: 'http://localhost:3000/build/'
},
resolve: {
extensions: ['.js', '.jsx']
},
module: {
loaders: [
{
enforce: 'pre',
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'src'),
],
loader: 'eslint-loader',
},
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'src'),
],
loader: 'react-hot-loader'
},
{
test: /\.jsx?$/,
include: [
path.resolve(__dirname, 'src'),
],
loader: 'babel-loader',
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
use: [
{
loader: 'css-loader',
options: { importLoaders: 1 },
},
'postcss-loader',
],
}),
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
new ExtractTextPlugin('bundle.css'),
new StyleLintPlugin({
configFile: '.stylelintrc',
context: 'src',
files: '**/*.pcss'
})
]
};
다음은 도움이 될 것입니다. https://webpack.js.org/guides/hot-module-replacement/ – Axnyff
Thanks @Axnyff! 나는 그 문제에 대해 더 깊이 파고 들었다. 나를 혼란스럽게하는 것은 그것이 기본적으로 어떻게 작동하는지입니다. MAMP가 index.html 서비스를 제공하고 webpack dev 서버 서버가 자산을 제공합니까? 또는 모든 것을 제공하지만 MAMP의 index.html과 같은 "take"를 사용하는 webpack dev 서버입니까? 고맙습니다! – nielsG
@Axnyff 나는 내 질문을 해결했다, 아래의 설명을 참조하십시오! 더 이상 나를 도와 주셔서 감사합니다! – nielsG