前端开发服务框架

mok4js配置与运行

打开mok-config.js配置文件,在projects里添加JS项目的配置,示例如下:

接下来再将特定的js请求映射到blog项目,在routes里添加路由规则,示例如下:

这样就把类似http://blog.cn/js/index.js这样的请求映射到了blog项目,以及其他blog.cn域下的请求直接输出对应的文件内容。

配置hosts:127.0.0.1 blog.cn,浏览器地址栏输入http://blog.cn/index.html即可看到js模块化的结果。

特别说明:配置项locate主要用于定位单个文件,像上面这样其实是将一个目录作为静态资源服务目录,可用root配置项:root: '../demos/blog/static'

入口文件目录

什么是入口文件?一个HTML页面可能只外链引用一个JS文件,然后在这个JS文件里再通过模块依赖引入该页面需要的各个JS模块文件,这个被页面直接外链引用的JS文件就叫入口文件。当然一个页面可以外链多个JS入口文件。

每个项目下面,要有一个入口文件目录main,所有JS入口文件都要放到里面。main下面可以再创建子目录。

构建项目时,mok4js遍历main下面的每一个JS文件,合并所有依赖模块,然后使用uglifyjs压缩。

版本控制

如果要对每次上线的JS文件进行版本控制,比如只上线被影响了的主文件、查看都影响了哪些主文件,就需要用到版本控制文件。在JS项目里,文件版本是放到启动文件里控制的。

启动文件是一个JS文件,使用时要在项目配置里加配置项boot_js,值是文件名。文件内容模板示例如下:

版本信息以/* <version> */开头,以/* </version> */结尾。每次打包后,会生成一个“updated-”前缀的新启动文件,里面的每一条信息,如果相对于当前版本有更新,会在后面加“u”标识,新增的文件则以“new”标识。JS上线后,删除当前启动文件,去掉新启动文件的“updated-”前缀以实现启动文件里版本信息的更新。

使用启动文件后,在页面上加载JS主文件要通过__loadjs函数加载,例如__loadjs('index')

当然,启动文件也可以只干版本控制的事,加载JS主文件还是使用标准的script标签,两种方案都行。

安装uglify-js

mok4js构建项目时,使用uglify-js压缩JS代码,所以在构建项目前,你需要安装uglify-js:npm install -g uglify-js