element-ui 本地化使用教程详解


Posted in Javascript onOctober 28, 2019

起因:

用 element-ui 时,本人是没有安装其它环境,而是直接用链接引入,这个带来的问题是,每次打开网页都很慢,于是想本地化,但是发现只是下载两个引入的 js 和 css 是不够的,很多功能会无法使用,打开 DevTools 发现是还有别的资源本地没有。

element-ui 本地化使用教程详解

再次前往官网,找到下载页面,结果发现并没有给直接的下载链接。。没办法了,自己写个脚本来下载。最后成功离线化。

下载后在 html 中引入:

<!--<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">-->
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css" rel="external nofollow" >

<!--<script src="https://unpkg.com/element-ui/lib/index.js"></script>-->
<script src="element-ui/lib/index.js"></script>

element-ui 本地化使用教程详解

下载脚本:

临时起意做的,代码里面可能会有些瑕疵,但是不影响使用,本人已经成功下载并使用。
路径可以自己更改,注意不要从 Windows 资源管理器复制,Linux 系统当我没说。

package com.ycr;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;

public class Main {
 static String fileP = "C:\\Users\\YCR\\Desktop\\element-ui\\"; // 不要从资源管理器复制,有的字符会有问题,导致无法创建文件
 static String urlP = "https://unpkg.com/browse/element-ui@2.12.0/";
 static String urlF = "https://unpkg.com/element-ui@2.12.0/";
 public static void main(String[] args){
 try {
  GetPage("");
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 static void GetPage(String after) throws Exception {
 System.out.println(urlP + after);
 new File(fileP + after).mkdir();
 HttpURLConnection http = (HttpURLConnection) (new URL(urlP + after)).openConnection();
 http.setRequestMethod("GET");
 http.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3562.0 Safari/537.36");
 http.connect();
 if(http.getResponseCode() == 200) {
      InputStream inputStream = http.getInputStream();
      byte [] buffer = new byte[1024];
      ArrayList<byte []> byteList = new ArrayList<>();
      ArrayList<Integer> byteLength = new ArrayList<>();
      int length;
      int totalLength = 0;
      while( (length = inputStream.read(buffer)) != -1 ) {
       byteList.add(buffer);
       byteLength.add(length);
       totalLength += length;
       buffer = new byte[1024];
      }
      http.disconnect();
      byte [] all;
      all = new byte[totalLength];
      totalLength = 0;
      while(byteList.size() != 0) {
       System.arraycopy(byteList.get(0), 0, all, totalLength, byteLength.get(0));
       totalLength += byteLength.get(0);
       byteList.remove(0);
       byteLength.remove(0);
      }
      String content = new String(all, StandardCharsets.UTF_8);
      all = null;
      content = content.split("tbody")[1];
      String [] us = content.split("href=\"");
      for(int i = 1; i < us.length; i ++) {
       String href = us[i].split("\"", 2)[0];
       if(href.equals("../")) {
      continue;
     }
       if(href.charAt(href.length() - 1) == '/') {
       GetPage(after + href);
       } else {
       GetFile(after + href);
       }
      }
    } else {
  GetPage(after);
 }
 }
 static void GetFile(String url) throws Exception{
 System.out.println(url);
 HttpURLConnection http;
 http = (HttpURLConnection) (new URL(urlF + url)).openConnection();
 http.setRequestMethod("GET");
 http.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3562.0 Safari/537.36");
 http.connect();
 if(http.getResponseCode() == 200) {
      InputStream inputStream = http.getInputStream();
      byte [] buffer = new byte[1024];
      ArrayList<byte []> byteList = new ArrayList<>();
      ArrayList<Integer> byteLength = new ArrayList<>();
      int length;
      int totalLength = 0;
      while( (length = inputStream.read(buffer)) != -1 ) {
       byteList.add(buffer);
       byteLength.add(length);
       totalLength += length;
       buffer = new byte[1024];
      }
      http.disconnect();
      byte [] all;
      all = new byte[totalLength];
      totalLength = 0;
      while(byteList.size() != 0) {
       System.arraycopy(byteList.get(0), 0, all, totalLength, byteLength.get(0));
       totalLength += byteLength.get(0);
       byteList.remove(0);
       byteLength.remove(0);
      }
      File f = new File(fileP + url.replaceAll("/", "\\\\"));
      f.createNewFile();
      FileOutputStream fos = new FileOutputStream(f, false);
      fos.write(all);
      fos.flush();
      fos.close();
 } else {
  GetFile(url);
 }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery判断密码强度实现思路及代码
Apr 24 Javascript
js怎么终止程序return不行换jfslk
May 30 Javascript
jquery预览图片实现鼠标放上去显示实际大小
Jan 16 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
javascript进行数组追加方法小结
Jun 16 Javascript
arguments对象验证函数的参数是否合法
Jun 26 Javascript
自己动手写的jquery分页控件(非常简单实用)
Oct 28 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
Nov 23 Javascript
JS检测数组类型的方法小结
Mar 14 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 Javascript
vue 全局环境切换问题
Oct 27 #Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 #Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 #Javascript
Vue-Cli项目优化操作的实现
Oct 27 #Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
Oct 26 #Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 #Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 #Javascript
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
PHP邮件专题
2006/10/09 PHP
php之字符串变相相减的代码
2007/03/19 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
比较简单的一个符合web标准的JS调用flash方法
2007/11/29 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
详解Angular2响应式表单
2017/06/14 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python实现批量修改文件名代码
2017/09/10 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
市级优秀班主任事迹材料
2014/05/13 职场文书
普通党员对照检查材料
2014/09/24 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
总经理岗位职责
2015/02/04 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
消防演习通知
2015/04/25 职场文书
预备党员半年考察意见
2015/06/01 职场文书
商务信函英语问候语
2015/11/10 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书