hyj1991 / blog-1

my blog code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

在线预览
http://qiqi.bling.ink

博客系统

为了熟悉Node.js,熟悉现代前端开发使用的各种工作流工具,我开发了这个博客系统。

工程目录结构:
├── README.RD
├── client
│   ├── blogpost.js
│   ├── main.js
│   └── utils.js
├── common
│   ├── common.js
│   └── config.js
├── error.html
├── gulpfile.js
├── jsconfig.json
├── package.json
├── resources
│   ├── css
│   ├── img
│   └── js
├── server
│   ├── cache.js
│   ├── db.js
│   ├── server.js
│   ├── session.js
│   ├── site.config.js
│   └── utils.js
├── template
│   ├── 404.ejs
│   ├── blogpost.ejs
│   ├── error.ejs
│   ├── header.ejs
│   ├── index.ejs
│   ├── login.ejs
│   └── sidebar.ejs
└── webpack.config.js

其中server为服务端代码目录,client为浏览器端代码目录,common为前后端公共代码,template为ejs模板文件目录,resources为资源(scss/css/images等)目录。
webpack.config.js为webpack的配置脚本,gulpfile.js为gulp的构建脚本。

开发环境构建,运行命令 npm run-script build:dev 或 gulp
线上构建,运行命令 npm run-script build:prod 或 NODE_ENV=production gulp
构建完毕后,生成deploy目录,此为客户端需要部署的资源,由于没有专用的cdn,此目录即为cdn目录。


使用webpack之后,原来不到1k的javascript代码文件膨胀到了好几k,原因是webpack会将require的模块进行bundle,同时加入webpack模块化实现代码。说明使用npm 模块来加快客户端的开发效率将折衷部署的文件体积,webpack等打包工具只能尽可能地通过拆分代码再打包来优化部署性能。
总结就是webpack等模块化打包工具的使用场景,最好应该是项目代码足够大,有模块化可能性。
关于打包体积的优化,参考youngwind/blog#65

About

my blog code


Languages

Language:HTML 75.7%Language:CSS 12.4%Language:JavaScript 11.9%