JavaScript异步编程

在讲JavaScript异步编程之前我们先来了解并发和并行的区别。 并发和并行的区别 Erlang 之父 Joe Armstrong用一张图解释了并发和并行的区别:

浏览器缓存简短笔记

浏览器缓存机制的关键:

  • 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识
  • 浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中

缓存分为两个过程:强制缓存和协商缓存。发送请求的时候先进行强制缓存,如果强制缓存失效,则进行协商缓存。

Webpack入门教程

为什么要用构建工具

转换es6、转换jsx、css前缀补全/预处理器、压缩混淆、图片压缩

初识webpack

webpack默认文件是webpack.config.js,当然,你也可以根据自己的需要进行更改,通过:webpack — config 指定配置文件,webpack一般包含以下内容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
module.exports = {
  entry: './src/index.js', // 打包的入口文件
  output: './dist/main.js', // 打包的输出
  mode: 'production', // 环境
  module: {
    rules: [
      {test: /\.text/, use: 'raw-loader'}  // Loader配置
    ]
  },
  plugin: [                                   // plugin配置
    new HtmlWebpackPlugin({
        template: './src/index.html', // 所用的模版
        filename: 'index.html', // 打包后的文件名
        minify: {  // 压缩html
          removeAttributeQuotes: true, // 去掉双引号
          collapseWhiteSpace: true, // 变成一行
        },
        hash: true, // 添加hash
      })
  ]
}

用css实现单行截断与多行截断,最后以省略号结尾

有个很常见的业务场景,就是实现单行截断或者使用多行截断,最后要以省略号结尾。比如某个商品的标题太长,在有限区域内不能完全展示,如果要全部展示,页面就会很丑,所以要单行或多行截断。这里记录一下常见的解决办法。