马金慧的博客

斯人如彩虹,遇上方知有


  • 首页

  • 关于

  • 归档

  • 搜索

从 1 到完美,用 node 写一个命令行工具

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 node
字数统计: 1.4k | 阅读时长 ≈ 6

1. package.json 中的 bin 字段

现在,不管是前端项目还是 node 项目,一般都会用 npm 做包管理工具,而 package.json 是其相关的配置信息。

对 node 项目而言,模块导出入口文件由 package.json 的 main 字段指定,而如果是要安装到命令行的工具,则是由 package.json 的 bin 字段指定。

阅读全文 »

前端项目如何管理

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 2.6k | 阅读时长 ≈ 9

前端项目的管理分为两个维度:项目内的管理与多项目之间的管理。

1. 项目内的管理

在一个项目内,当有多个开发者一起协作开发时,或者功能越来越多、项目越来越庞大时,保证项目井然有序的进行是相当重要的。

一般会从下面几点来考证一个项目是否管理得很好:

  • 可扩展性:能够很方便、清晰的扩展一个页面、组件、模块
  • 组件化:多个页面之间共用的大块代码可以独立成组件,多个页面、组件之间共用的小块代码可以独立成公共模块
  • 可阅读性:阅读性良好(包括目录文件结构、代码结构),能够很快捷的找到某个页面、组件的文件,也能快捷的看出项目有哪些页面、组件
  • 可移植性:能够轻松的对项目架构进行升级,或移植某些页面、组件、模块到其他项目
  • 可重构性:对某个页面、组件、模块进行重构时,能够保证在重构之后功能不会改变、不会产生新 bug
  • 开发友好:开发者在开发某一个功能时,能够有比较好的体验(不好的体验比如:多个文件相隔很远)
  • 协作性:多人协作时,很少产生代码冲突、文件覆盖等问题
  • 可交接性:当有人要离开项目时,交接给其他人是很方便的
阅读全文 »

web 应用常见安全漏洞一览

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 2.6k | 阅读时长 ≈ 9

1. SQL 注入

SQL 注入就是通过给 web 应用接口传入一些特殊字符,达到欺骗服务器执行恶意的 SQL 命令。

SQL 注入漏洞属于后端的范畴,但前端也可做体验上的优化。

原因

当使用外部不可信任的数据作为参数进行数据库的增、删、改、查时,如果未对外部数据进行过滤,就会产生 SQL 注入漏洞。

阅读全文 »

前端开发如何做好本地接口模拟

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 3.2k | 阅读时长 ≈ 12

1. 有什么好处

本地接口模拟最大的好处就是能够使前后端项目解耦,前端更专注于开发,减少线上调试,以此提升开发效率。

阅读全文 »

h5 与原生 app 交互的原理

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 910 | 阅读时长 ≈ 4

现在移动端 web 应用,很多时候都需要与原生 app 进行交互、沟通(运行在 webview 中),比如微信的 jssdk,通过 window.wx 对象调用一些原生 app 的功能。所以,这次就来捋一捋 h5 与原生 app 交互的原理。

h5 与原生 app 的交互,本质上说,就是两种调用:

  1. app 调用 h5 的代码
  2. h5 调用 app 的代码
阅读全文 »

细说后端模板渲染、客户端渲染、node 中间层、服务器端渲染(ssr)

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 1.8k | 阅读时长 ≈ 6

前端与后端渲染方式的发展大致经历了这样几个阶段:后端模板渲染、客户端渲染、node 中间层、服务器端渲染(ssr)。

阅读全文 »

package.json 非官方字段集合

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 1.5k | 阅读时长 ≈ 6

package.json 官方字段请参考 https://docs.npmjs.com/files/package.json。下面介绍的是非官方字段,也就是各种工具定义的相关字段。

阅读全文 »

react 前端项目技术选型、开发工具、周边生态

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 2.4k | 阅读时长 ≈ 9

声明:这不是一篇介绍 React 基础知识的文章,需要熟悉 React 相关知识

  • 主架构:react, react-router, redux, redux-thunk, redux-saga, react-redux, dva, umi

  • 扩展架构:styled-components, recompose, react-loadable

  • UI 框架:ant-design, ant-design-mobile, material-ui, Semantic-UI-React, blueprint, react-bootstrap

  • 服务器端渲染:next.js, razzle, react-server, beidou

  • 开发工具:storybook, react-devtools, redux-devtools, redux-devtools-extension

  • 测试:enzyme, react-testing-library, jest

  • 替代库:preact, inferno

  • 插件库:react-motion, react-select, reselect, react-beautiful-dnd, react-canvas, redux-form, recharts, react-dnd, react-helmet

阅读全文 »

vue 前端项目技术选型、开发工具、周边生态

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端扩展
字数统计: 916 | 阅读时长 ≈ 3

声明:这不是一篇介绍 Vue 基础知识的文章,需要熟悉 Vue 相关知识

  • 主架构:vue, vue-router, vuex

  • UI 框架:element ui, iview, vuetify, vux, mint-ui, vue-material, muse-ui, vant, bootstrap-vue

阅读全文 »

web 项目如何进行 git 多人协作开发

发表于 2020-02-21 | 更新于: 2020-02-21 | 分类于 前端进阶
字数统计: 2.2k | 阅读时长 ≈ 7

声明:本文不介绍 git 的基本用法,需要读者对 git、git 命令、git 使用有一定的了解

现在,大部分项目都是用 git 来管理代码的,但当项目变大、多人协作时,git 的使用就变得复杂了,这时就需要在 git 使用的流程上来思考如何更优的使用 git。

对于大部分 web 项目而言,并不像软件、APP 项目一样有版本的划分,而是不断的更新、迭代,这就使得 web 项目的 git 使用要复杂一些,需要管理好哪些是正在开发的代码、哪些是提交测试的代码、哪些是已经上线的代码、多人共同开发时如何避免代码冲突与线上新代码被旧代码覆盖等等。

阅读全文 »
12…4》
Ma JinHui

Ma JinHui

39 日志
7 分类
13 标签
RSS
© 2020 浙ICP备19031752号 | Site words total count: 59.8k
载入天数... 载入时分秒...