Vue框架中,util目录下的env.js,主要内容是做项目运行环境的检测和部分兼容处理。Vue框架中使用了facebook的flow框架,来提升开发效率。
具体笔记如下:
// @flow
// 是否能够使用__proto__ 代表原型对象
export const hasProto = '__proto__' in {};
// 检查运行环境是否是浏览器,如果是,检查是哪个浏览器
// 通过判断window是否是undefined,来判断运行环境是否是浏览器,在浏览器中,window不是undefined,而是顶层对象
export const inBrowser = typeof window !== 'undefined';
// 判断代码是否运行在weex环境中,weex是阿里推出的一个库,可以用前端的js、html、css写移动端的项目
export const inWeex = typeof WXEnvironment !== 'undefined' && !! WXEnvironment.platform;
// 判断是weex下的移动端的哪种环境
export const weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();
// BOM中的navigation
export const UA = inBrowser && window.navigation.userAgent.toLowerCase();
// 判断是否是IE,通过正则匹配看有没有IE的前缀
export const isIE = UA && / msie | trident /.t