摘要: XSS攻击(跨站脚本攻击)是一种常见的Web安全漏洞,攻击者通过注入恶意脚本代码,从而获取用户的敏感信息或者使用用户的身份进行操作,对网站和用户造成损失。 为了避免XSS攻击,可以采取如下措施: 输入过滤 对于用户输入的内容进行严格的过滤,删除或者转义HTML、JavaScript、CSS等特殊字符 阅读全文
posted @ 2023-05-10 23:23 kitebear 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 1. 构建压缩# bash # 构建 pnpm run build # 压缩产物 tar -czvf dist.tar.gz dist/ 2. 登录并上传资源到服务# shell # 上传 静态资源。xxx替换为实际服务地址,根据实际路径定义。 scp dist.tar.gz root@xx.xxx 阅读全文
posted @ 2023-05-10 23:22 kitebear 阅读(79) 评论(0) 推荐(0) 编辑
摘要: no bundle 是基于浏览器支持 es module 来实现的,浏览器会做 es module 的依赖分析,然后加载对应的模块,这样自然就不用自己做依赖分析了,只需要实现模块的编译即可。 所以,no bundle 工具会启动一个开发服务器,根据请求的模块路径来进行相应的编译,然后返回编译后的代码 阅读全文
posted @ 2023-05-10 23:21 kitebear 阅读(39) 评论(0) 推荐(0) 编辑
摘要: onventional-changelog 是一款可以根据项目的commit 和 metadata信息自动生成 changelogs 和 release notes的系列工具,并且在辅助 standard-version 工具的情况下,可以自动帮你完成生成version、打tag, 生成CHANGE 阅读全文
posted @ 2023-05-10 23:21 kitebear 阅读(36) 评论(0) 推荐(0) 编辑
摘要: package.json就是一个json文件,除了能够描述项目的包依赖外,允许我们使用“语义化版本规则”指明你项目依赖包的版本,让你的构建更好地与其他开发者分享,便于重复使用。 package.json package.json常用属性 package.json环境相关属性 package.json 阅读全文
posted @ 2023-05-10 23:19 kitebear 阅读(73) 评论(0) 推荐(0) 编辑
摘要: Vite: 下一代前端工具 Vite(读音类似于[weɪt],法语,快的意思) 是一个由原生 ES Module 驱动的 Web 开发构建工具。在开发环境下基于浏览器原生 ES imports 开发,在生产环境下基于 Rollup 打包。 虽然 2021 年 webpack 仍然是毫无争议的构建之王 阅读全文
posted @ 2023-05-10 23:19 kitebear 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Commonjs的缺点 模块加载器由 Node.js 提供,依赖了 Node.js 本身的功能实现,比如文件系统,如果 CommonJS 模块直接放到浏览器中是无法执行的。当然, 业界也产生了 browserify 这种打包工具来支持打包 CommonJS 模块,从而顺利在浏览器中执行,相当于社区实 阅读全文
posted @ 2023-05-10 23:18 kitebear 阅读(16) 评论(0) 推荐(0) 编辑
摘要: AMD全称为Asynchronous Module Definition,即异步模块定义规范。模块根据这个规范,在浏览器环境中会被异步加载,而不会像 CommonJS 规范进行同步加载,也就不会产生同步请求导致的浏览器解析过程阻塞的问题了 // main.js define(["./print"], 阅读全文
posted @ 2023-05-10 23:17 kitebear 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 脚手架 预置一些通用的JS文件,埋点/数据处理/HTTP封装/Utils工具/时间包/一些可以公用的组件 构建发布 资源上传cdn配置 docker的生成与上传 CI的缓存配置 内部镜像源的配置 保持风格和样式的统一 eslint 语法 pertter 编码格式的统一 stylelint hooks 阅读全文
posted @ 2023-05-10 23:16 kitebear 阅读(8) 评论(0) 推荐(0) 编辑
摘要: pm-run-all npm-run-all可以轻易的串行或者并行各种脚本。https://www.npmjs.com/package/npm-run-all 使用方法: // 可以异步同时执行两个脚本 { "scripts": { "dev:esm": "run-p watch:esm serve 阅读全文
posted @ 2023-05-10 23:16 kitebear 阅读(10) 评论(0) 推荐(0) 编辑
摘要: commander, yargs, and minimist 都是 JavaScript 库,用于解析命令行参数。 commander 是一个轻量级的命令行参数解析器,用于简化命令行程序的开发。它允许开发人员通过编写简单的代码来定义命令行参数和选项,并且可以生成帮助信息。 yargs 是一个功能强大 阅读全文
posted @ 2023-05-10 23:15 kitebear 阅读(73) 评论(0) 推荐(0) 编辑
摘要: JS 代码压缩有哪些策略 去除换行,去除空白字符 长变量变成短变量 预计算 见terser更多策略配置 webpack中使用terser-webpack-plugin进行代码压缩 terser compress: { drop_console: true //去除打包以后代码中的console } 阅读全文
posted @ 2023-05-10 23:15 kitebear 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Nginx 可以通过 gzip 压缩减小传输的流量,加快网站的访问速度。下面是 Nginx 开启 gzip 的配置方法: 打开 Nginx 配置文件: 复制$ sudo nano /etc/nginx/nginx.conf 搜索 gzip 配置项: 复制# gzip types gzip on; g 阅读全文
posted @ 2023-05-10 23:13 kitebear 阅读(56) 评论(0) 推荐(0) 编辑
摘要: BDD 集成测试 先写代码后做测试 TDD 单元测试 先写测试后写代码 阅读全文
posted @ 2023-05-10 23:13 kitebear 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 方案一:使用 rsync 配置指南# bash cd /data/opt/nginx/html tar xf dist.tar.gz rsync -avr dist/PROJECT_NAME/ \rm -rf dist dist.tar.gz 示例# 历史 bash cd /data/opt/ngi 阅读全文
posted @ 2023-05-10 23:11 kitebear 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 并行 Pipeline job 缓存依赖中间产物 -> 缓存加速 npm i -> Gitlib CI node_modules 私有仓库 开启多进程 build 多进程 限制范围 -> 增量打包 webpack5 cache npm -> yarn 为什么变快 pnpm 更快一些 rancher 阅读全文
posted @ 2023-05-10 23:10 kitebear 阅读(32) 评论(0) 推荐(0) 编辑
摘要: React 的一些最佳安全实践 React.js、Vue.js 这些现代的前端框架默认已经对安全做了非常多的考虑,但是这仍然不能阻碍我们写出一些安全漏洞 。。。因为框架永远不能完全限制我们编程的灵活性,只要有一定的灵活性存在就意味着有安全风险。 下面我就带大家一起来看一下,为了保证我们 React 阅读全文
posted @ 2023-05-10 23:00 kitebear 阅读(50) 评论(0) 推荐(0) 编辑