重学前端
Read more
一年计划

怎么样才能在一年内或者一年半内达到 P6 的级别呢

怀抱着以上标题的疑问,我进行了深深的思考 🤔。以下是我的思考结果:
为什么目的首先是达到 P6 呢?因为所有的目的在财务自由之前都是为了赚钱 💰,只有在财务自由之后才能有更多的精力和时间做些自己感兴趣的事情,比如我对人工智能和虚拟现实就非常感兴趣。而身为前端程序员,可以拿阿里的职级体系作为自己成长历程的参考。所以先定一个小目标吧,先到 P6 的级别,先赚到比现在还多的钱 💃💃💃。
2019-5-25 重学前端计划,启动!!!

Read more
React学习笔记

React 的学习笔记

记录一些学习 React 路上的问题或者技巧。

Read more
Antd使用遇到问题

问题

  1. 使用create-react-app创建的 react 项目在yarn eject之后安装 antd,在 App.js 里面直接引入 Less 文件报错的解决方法
    首先改一下 webpack.config.js 配置,比照 SASS 的配置加上关于 Less 文件的 loader 解析

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    const lessRegex = /\.less$/;
    const lessModuleRegex = /\.module\.less$/;
    {
    test: lessRegex,
    exclude: lessModuleRegex,
    use: getStyleLoaders({
    importLoaders: 2,
    sourceMap: isEnvProduction && shouldUseSourceMap,
    },
    'less-loader'
    ),
    sideEffects: true,
    },
    {
    test: lessModuleRegex,
    use: getStyleLoaders({
    importLoaders: 2,
    sourceMap: isEnvProduction && shouldUseSourceMap,
    modules: true,
    getLocalIdent: getCSSModuleLocalIdent,
    },
    'less-loader'
    ),
    },

    然后由于一些问题所以再加上一个配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (preProcessor) {
    loaders.push({
    loader: require.resolve(preProcessor),
    options: {
    sourceMap: isEnvProduction && shouldUseSourceMap,
    // 添加上下面这一行
    javascriptEnabled: true
    }
    });
    }

    参考资料
    react 中使用 less 和全局样式

Read more
面试题和面试基础知识

基础

跨域问题

当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。
第一:如果是协议和端口造成的跨域问题“前台”是无能为力的。

第二:在跨域问题上,仅仅是通过“URL 的首部”来识别而不会根据域名对应的 IP 地址是否相同来判断。“URL 的首部”可以理解为“协议, 域名和端口必须匹配”。
跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。

解决办法

  1. JSONP 方式
    利用 <script> 标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的 JSON 数据。JSONP 请求一定需要对方的服务器做支持才可以。 JSONP 优点是简单兼容性好,可用于解决主流浏览器的跨域数据访问的问题。缺点是仅支持 get 方法具有局限性,不安全可能会遭受 XSS 攻击。
  2. cors 方式
    CORS 需要浏览器和后端同时支持。IE 8 和 9 需要通过 XDomainRequest 来实现。浏览器会自动进行 CORS 通信,实现 CORS 通信的关键是后端。只要后端实现了 CORS,就实现了跨域。服务端设置 Access-Control-Allow-Origin 就可以开启 CORS。 该属性表示哪些域名可以访问资源,如果设置通配符则表示所有网站都可以访问资源。虽然设置 CORS 和前端没什么关系,但是通过这种方式解决跨域问题的话,会在发送请求时出现两种情况,分别为简单请求和复杂请求。
  3. postmessage
    postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。
  4. websocket
  5. Node 中间件两次代理
  6. Nginx 反向代理

思否资料
掘金资料

Read more
mongodb和mongoose学习及使用
Read more
Puppeteer简单使用

安装

npm i puppeteer or yarn add puppeteer
默认下载最新版本的 Chromium。
npm i puppeteer-core or yarn add puppeteer-core 这个包不含 Chromium。

基本操作

启动
const browser = await puppeteer.launch();
导航到某个页面
const page = await browser.newPage();
await page.goto("https://bj.meituan.com");
等待加载完毕
await page.waitForSelector('#loginForm');等待某个节点出现
await page.waitFor(3500);等待某个时间

Read more
RN开发GitHub
Read more
Git的使用

Git 的使用

Read more
vue+ssr开发美团网PC版

使用 nuxt 编写美团 PC 端(vue+ssr+egg)

Read more