learn.lianglianglee.com/专栏/前端工程化精讲-完/index.html
2022-08-14 03:40:33 +08:00

194 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>前端工程化精讲-完</h1>
<ul>
<li><a href = '\专栏\前端工程化精讲-完\00 开篇词 建立上帝视角,全面系统掌握前端效率工程化.md.html'>00 开篇词 建立上帝视角,全面系统掌握前端效率工程化</a></li>
<li><a href = '\专栏\前端工程化精讲-完\01 项目基石:前端脚手架工具探秘.md.html'>01 项目基石:前端脚手架工具探秘</a></li>
<li><a href = '\专栏\前端工程化精讲-完\02 界面调试:热更新技术如何开着飞机修引擎?.md.html'>02 界面调试:热更新技术如何开着飞机修引擎?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\03 构建提速:如何正确使用 SourceMap.md.html'>03 构建提速:如何正确使用 SourceMap</a></li>
<li><a href = '\专栏\前端工程化精讲-完\04 接口调试Mock 工具如何快速进行接口调试?.md.html'>04 接口调试Mock 工具如何快速进行接口调试?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\05 编码效率:如何提高编写代码的效率?.md.html'>05 编码效率:如何提高编写代码的效率?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\06 团队工具:如何利用云开发提升团队开发效率?.md.html'>06 团队工具:如何利用云开发提升团队开发效率?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\07 低代码工具:如何用更少的代码实现更灵活的需求.md.html'>07 低代码工具:如何用更少的代码实现更灵活的需求</a></li>
<li><a href = '\专栏\前端工程化精讲-完\08 无代码工具:如何做到不写代码就能高效交付?.md.html'>08 无代码工具:如何做到不写代码就能高效交付?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\09 构建总览:前端构建工具的演进.md.html'>09 构建总览:前端构建工具的演进</a></li>
<li><a href = '\专栏\前端工程化精讲-完\10 流程分解Webpack 的完整构建流程.md.html'>10 流程分解Webpack 的完整构建流程</a></li>
<li><a href = '\专栏\前端工程化精讲-完\11 编译提效:如何为 Webpack 编译阶段提速?.md.html'>11 编译提效:如何为 Webpack 编译阶段提速?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\12 打包提效:如何为 Webpack 打包阶段提速?.md.html'>12 打包提效:如何为 Webpack 打包阶段提速?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\13 缓存优化:那些基于缓存的优化方案.md.html'>13 缓存优化:那些基于缓存的优化方案</a></li>
<li><a href = '\专栏\前端工程化精讲-完\14 增量构建Webpack 中的增量构建.md.html'>14 增量构建Webpack 中的增量构建</a></li>
<li><a href = '\专栏\前端工程化精讲-完\15 版本特性Webpack 5 中的优化细节.md.html'>15 版本特性Webpack 5 中的优化细节</a></li>
<li><a href = '\专栏\前端工程化精讲-完\16 无包构建:盘点那些 No-bundle 的构建方案.md.html'>16 无包构建:盘点那些 No-bundle 的构建方案</a></li>
<li><a href = '\专栏\前端工程化精讲-完\17 部署初探:为什么一般不在开发环境下部署代码?.md.html'>17 部署初探:为什么一般不在开发环境下部署代码?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\18 工具盘点:掌握那些流行的代码部署工具.md.html'>18 工具盘点:掌握那些流行的代码部署工具</a></li>
<li><a href = '\专栏\前端工程化精讲-完\19 安装提效:部署流程中的依赖安装效率优化.md.html'>19 安装提效:部署流程中的依赖安装效率优化</a></li>
<li><a href = '\专栏\前端工程化精讲-完\20 流程优化:部署流程中的构建流程策略优化.md.html'>20 流程优化:部署流程中的构建流程策略优化</a></li>
<li><a href = '\专栏\前端工程化精讲-完\21 容器方案:从构建到部署,容器化方案的优势有哪些?.md.html'>21 容器方案:从构建到部署,容器化方案的优势有哪些?</a></li>
<li><a href = '\专栏\前端工程化精讲-完\22 案例分析:搭建基本的前端高效部署系统.md.html'>22 案例分析:搭建基本的前端高效部署系统</a></li>
<li><a href = '\专栏\前端工程化精讲-完\23 结束语 前端效率工程化的未来展望.md.html'>23 结束语 前端效率工程化的未来展望</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>