利用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.imgNav.js
Mar 17 Javascript
javascript针对DOM的应用实例(一)
Apr 15 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 Javascript
js用拖动滑块来控制图片大小的方法
Feb 27 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
跟我学习javascript的函数调用和构造函数调用
Nov 16 Javascript
jquery验证邮箱格式是否正确实例讲解
Nov 16 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
layer弹出层中H5播放器全屏出错的解决方法
Feb 21 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
Dec 12 Javascript
实例讲解React 组件
Jul 07 Javascript
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
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
JS delegate与live浅析
2013/12/21 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
javascript 闭包详解
2015/02/15 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
2015/03/04 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
django中间键重定向实例方法
2019/11/10 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python extract及contains方法代码实例
2020/09/11 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
四风问题个人剖析材料
2014/10/07 职场文书
工作会议通知
2015/04/15 职场文书
2015年检验科工作总结
2015/04/27 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python