利用CDN加速react webpack打包后的文件详解


Posted in Javascript onFebruary 22, 2018

此文不介绍webpack基本配置,如果对基本配置有疑问请查阅官方文档。

1、配置webpack.config.js

将output.publicPath改成上传到的cdn地址, 例(对应上面上传配置):

publicPath: "https://your_base_cdn_url" + process.env.NODE_ENV + "/cdn/"

打包

NODE_ENV=production node_modules/webpack/bin/webpack.js -p

这样打包后的文件例如有

index.html
12345678.src.js
12345678.src.css
...

此时,打包后生成的index.html文件中已经引入了cdn文件。

<html lang="en">
<head>
 <title>title</title>
 <link href="https://your_base_cdn_url/production/cdn/12345678.src.css" rel="external nofollow" rel="stylesheet">
</head>
<body id="body">
 <div id="root"></div>
<script src="https://your_base_cdn_url/production/cdn/12345678.src.js"></script></body>
</html>

2、上传文件至CDN

在部署脚本中写一段上传cdn的脚本, 例:

echo "start uploading to upyun"
HOST=v0.ftp.upyun.com
USER=uploader/your-username
PASS=your-password
cd build
files=$(ls | grep -v 'index.html' | xargs)
ftp -inv $HOST <<EOF
user $USER $PASS
mkdir /$node_env/cdn
cd /$node_env/cdn
mput $files
bye
EOF
cd ..
echo "finish uploading to upyun"

将主页文件上传至服务器,使用nginx代理

server {
 listen 80;

 server_name your_server_name;
 access_log /var/log/nginx/your_project.log;
 root /var/www/your_project/production/current;

 location / {
 try_files $uri /index.html =404;
 add_header Pragma no-cache;
 expires -5y;
 }

 location ~ \.(js|css)$ {
 expires 360000;
 add_header Cache-Control "max-age=360000;";
 }
}

访问http://your_server_name即可访问使用CDN加速后网页。

以上这篇利用CDN加速react webpack打包后的文件详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery源码分析之jQuery中的循环技巧详解
Sep 06 Javascript
学习JavaScript设计模式(策略模式)
Nov 26 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
什么是JavaScript注入攻击?
Sep 14 Javascript
浅谈webpack下的AOP式无侵入注入
Nov 12 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
JS实现键值对遍历json数组功能示例
May 30 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 Javascript
js实现前面自动补全位数的方法
Oct 10 Javascript
详解关于html,css,js三者的加载顺序问题
Apr 10 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 Javascript
浅析vue中的nextTick
Dec 28 Vue.js
node内置调试方法总结
Feb 22 #Javascript
详解vue移动端日期选择组件
Feb 22 #Javascript
webpack 单独打包指定JS文件的方法
Feb 22 #Javascript
webpack中使用iconfont字体图标的方法
Feb 22 #Javascript
微信小程序之圆形进度条实现思路
Feb 22 #Javascript
webpack下实现动态引入文件方法
Feb 22 #Javascript
JavaScript 有用的代码片段和 trick
Feb 22 #Javascript
You might like
制作美丽的拉花
2021/03/03 冲泡冲煮
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
python通过yield实现数组全排列的方法
2015/03/18 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python使用Matplotlib画饼图
2018/09/25 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
django 将model转换为字典的方法示例
2018/10/16 Python
用Python读取几十万行文本数据
2018/12/24 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
sort命令的作用和用法
2013/08/25 面试题
2014年父亲节活动方案
2014/03/06 职场文书
清扬洗发水广告词
2014/03/14 职场文书
法律专业求职信
2014/05/24 职场文书
小学学校评估方案
2014/06/08 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
投诉信格式范文
2015/07/02 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA