基于webpack的前端工程化开发之多页站点篇(二)

这篇,我们要解决上篇留下的两个问题:

  • webpack如何自动发现entry文件及进行相应的模板配置
  • 如何直接处理后端模板的样式、脚本自动引入问题

以express项目为例,使用express-generator构建一个初始项目,然后再添加需要的目录,最终的目录架构如下:

阅读全文

基于webpack的前端工程化开发之多页站点篇(一)

在最初接触webpack的较长一段时间里,我(也可能很多人)都觉得webpack是专为单页应用而量身打造的,比如webpack+react、webpack+vue等,都可以近乎完美的解决各种资源的依赖加载、打包的问题。甚至css都是打包在js里去动态添加到dom文档中去。

后来想想,这么好的工具这么好的方案为什么不能用在website(普通的web站点,姑且叫做website吧)中呢?

  • 首先对于普通的web站点,我们更倾向于将css独立出来,因为对于website来说,css还是要最先加载出来比较好。

  • 再然后js我们也只想加载需要的部分,而不是一个大大的打包了所有js模块的包。

阅读全文

你未必知道的JSON.parse和JSON.stringify

JSON.parse()

解析JSON格式的字符串。

我们通常的使用语法是:JSON.parse(s)

1
2
3
var o = JSON.parse('{"a":1,"b":2}');
console.log(o);
//Object {a: 1, b: 2}

其实它还能接收第二个参数:JSON.parse(s, reviver)

阅读全文

《高效率Javascript》阅读笔记

以下是阅读《Effective Javascript》一书所做的一些简单的笔记(部分内容并不适合ES6):

一、让自己习惯javascript

阅读全文

redis学习实践

Redis 是一个高性能的key-value数据库。既可内存存储又可持久化,着实牛逼。它提供五种数据类型:string, hash, list, set及zset(sorted set)。

安装

好烦,每次学习一项新工具,总要先捣腾好一阵子安装和配置。其实我已经迫不及待地想要一窥其风骚的走位和操作了。可是稍安勿躁,该做的还是一步都不能省哪!

阅读全文

学写博客先学markdown

Now,开始吧。。。

区块元素

段落与换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。

阅读全文