前端微应用初探

背景

最近,工作中遇到一个问题:手头有两个项目,其中有几个模块界面功能都是一模一样的,所以想着是否可以共用一套代码。
发现有一些解决方案:

  1. 通过iframe嵌套页面;
    缺点:遇到iframe高度控制问题,iframe是不能自适应变更的,所以需要在子应用里进行动态改变iframe的高度(包含各种数据渲染及图片加载完成的监听等),方法比较复杂,代码也会很冗杂;浏览器状态不同步,刷新后iframe状态丢失;
    优点:但是没有跨域问题,样式和js隔离;
  2. 通过qiankun(使用的是single-spa)配置微应用实现:
    缺点:有跨域问题,需要部署在统一的域名下,而且父子应用之间的元素选择器的样式会互相影响;
    优点:好处是父子应用里的代码修改不多,子应用中有相应标识能知道当前是子应用还是说独立访问。

    Read More

微信公众号开发入门

微信公众号开发入门体验

最近这段时间公司启动了一个项目,其中包含了部分微信公众号功能,并且这些功能分配给了我。在这里将微信开发的一些注意的地方记录下来,以供参考。

功能难点

我接到的任务是需要如下功能:

  1. 生成带参数的二维码;
  2. 用户扫描二维码后,向其推送模板消息;
  3. 点击模板消息跳转到指定的url。

    Read More

AngularJS知识点

AngularJS常见问题

本文是在使用AngularJS进行开发工作时发现的一系列需要注意的地方,持续更新。

AngularJS常见错误

  • 在开发中遇见controller不起作用的情况,先检查是否有controller重名的情况。
  • 在Angular表单验证中,必须绑定ng-model之后,formName.inputFieldName.$dirty等值才会定义
  • 在Angular-datatables中,如果renderWith中的html有angular指令,那么需要在dtOptions中添加下面两个options进行重新编译

    Read More

原生javascript发送POST请求

原生javascript发送ajax请求

前段时间发现自己对javascript基础知识掌握不到位,对于原生的js发送请求不是十分了解,便去学习了以下。

开发背景

最近在开发一个展示数据图表的网站,由于网站没有太多的DOM操作,于是并没有使用jQuery库;在网站开发过程中,需要进行数据请求,然而在使用js进行数据请求时,发生了一些错误——由于未将发送的数据进行编码,所以导致服务器接收错误。

Read More

bower&gulp配置详情

前端自动构建工具配置

以下配置均为bower.json中的配置

dependencies & devdependencies

依赖包的版本:
安装特殊的angular作为依赖,又想让其他的依赖angular的包指向改依赖:

1
bower install --save angular=angularjs-ie8-build#1.4.7

以下例子是分别安装其他的angular作为本地angular和固定包的版本的配置:

1
2
3
4
{
"angular": "angularjs-ie8-build#1.4.7",
"angular": "1.4.7"
}

Read More

git reset,checkout,revert使用区别

git常用命令reset, checkout, revert

在平时使用git版本管理中,很多时候会涉及到版本回退,查看旧版本,放弃某一个版本,以及放弃本地修改等的情况,这需要使用git的三个命令:reset, checkout, revert.

commit层面

git resetgit checkout的参数决定了它们的作用域。如果没有包含文件路径,便会在提交层面生效。

reset

在提交层面,git reset将一个分支的末端指向另一个提交。意思就是将该分支回滚,而且不保留回滚目标之后的提交,可以用来移除当前分支的一些提交,例如舍弃branchName分支的最后两个提交:

Read More

2016不断学习

2016写下自己的感受

今天已经是2016年最后一天了,回想了一下今年,发现发生了太多的事情,毕业便是一件自己的大事。离开学校住在外面,正式入职,不过这些大都不是真正值得去写下来的事情。或许下面的事情没有什么很大的感触,但都是真实的。

最前面

首先,就在今天,给自己送了一个礼物🎁,哪怕是花自己钱,我也觉得很开心。仅以此来鼓励一直都在努力的自己。(礼物是什么,你们猜!)

Read More

在GNU/linux上安装并配置i3wm

简介

随着linux发展,现在已经有越来越多的GNU/linux使用者。虽然这值得庆贺(Congratulations!!!^ _ ^),但是很多用户都将windows的使用习惯带入GNU/linux类系统的使用中,这是一个不太好的习惯。

很多追求效率(爱装 X)的GNU/linux使用者需要尽可能的提高自己的工作效率(让显示界面更好看),于是诞生了一系列平铺窗口管理器。关于窗口管理器,这里有一个详细的介绍:fq用户:Window_manager - wikipedia 以及 未fq用户:窗口管理器 - 百度百科

Read More