Javascript 与nginx一起使用webpack dev server
我正在尝试在react前端启用HMR,该前端也使用nginx/php-fpm作为后端。我读了一些关于stackoverflow的文章和问题,但我仍然无法让它发挥作用 首先,如果我理解正确,它应该是这样工作的:Javascript 与nginx一起使用webpack dev server,javascript,php,nginx,webpack,Javascript,Php,Nginx,Webpack,我正在尝试在react前端启用HMR,该前端也使用nginx/php-fpm作为后端。我读了一些关于stackoverflow的文章和问题,但我仍然无法让它发挥作用 首先,如果我理解正确,它应该是这样工作的: upstream backend { server app:9000; } server { root /var/www/emailApp/public; location / { proxy_http_ver
upstream backend {
server app:9000;
}
server {
root /var/www/emailApp/public;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:8080;
}
location ~ ^\/api\/.+$ {
fastcgi_pass backend;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
}
1.我将docker nginx容器(80)映射到端口8080
upstream backend {
server app:9000;
}
server {
root /var/www/emailApp/public;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:8080;
}
location ~ ^\/api\/.+$ {
fastcgi_pass backend;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
}
我不确定这是否正确,但如果它与“/”匹配,则应尝试将其传递到端口8080,如果它与/api/匹配,则应将其传递到php后端
这是我的网页配置
entry: './assets/index.jsx',
output: {
filename: 'main.js',
publicPath: "http://localhost:8080/public/"
},
devServer: {
contentBase: path.join(__dirname, 'public'),
host: '0.0.0.0',
compress: true,
port: 8080
},
我主要是通过教程来做的,但我不认为我理解它。因为现在我调用index.php,它调用返回模板的控制器,该模板包含对公共文件夹中main.js的引用。但看了文献后,我还是不太明白。devServer部分可能会指定将侦听0.0.0.0:8080的服务器,但如果我没有弄错的话,我需要更改项目的结构,这样我就有了index.html文件,该文件将包括公用文件夹中的js文件,对吗