-
Notifications
You must be signed in to change notification settings - Fork 2
Deploy React App
xiaohesong edited this page Apr 23, 2018
·
3 revisions
- 配置
nginx
- 安装
sudo apt-get update
sudo apt-get install nginx
- 配置
# sudo vim /etc/nginx/sites-available/default
server {
listen 80 default_server;
server_name YOUR-SERVER-NAME;
location / {
proxy_pass http://localhost:3000; #or any port number here
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
- 重启
sudo service nginx reload
sudo service nginx restart
- 项目
- 启动
npm install
npm start
这个时候输入你的ip
,就可以访问你的项目了.不过关闭服务器之后,3000
端口就停了.这个问题可以使用pm2
解决.
sudo npm install pm2 -g
pm2 start npm -- start
这样也可以启动,在后台运行.
pm2
的命令:
pm2 list all
pm2 stop all
pm2 start all
pm2 delete <name|id>
ps: 总感觉这个部署方案有些low,到时改进吧
npm run build
-
nginx
配置
server {
listen 7878;
server_name 127.0.0.1;
root /home/issue/workspace/ums/build;
location / {
try_files $uri /index.html;
add_header Cache-Control no-cache;
#expires 1d;
}
}
部署build之后的参考这里
很简单,找个服务器(nginx
或者apache
)去跑静态资源, 也可以放在cdn上面跑.
-
create-react-app
默认会携带源码(可读性的源码)。可以去除。 gaearon-commented.安装下工具,删除map
源码就好。
npm install rimraf -D
"scripts": {
...
"postbuild": "rimraf build/**/*.map",
}
然后在build
之后删除这个就好了npm run postbuild
。
- GENERATE_SOURCEMAP
上面的方法引入了库,其实看脚手架源码,可以发现有一个变量的,shouldMapSource config GENERATE_SOURCEMAP
直接配置文件里GENERATE_SOURCEMAP=false
就可以了。