简介
module-deps-sortable 是一个基于 browserify 的打包工具,它可以对模块进行依赖关系排序,并生成符合依赖顺序的 js 代码。该工具适用于前端项目中的模块化开发。
安装
使用 npm 进行安装:
--- ------- -------------------- ----------
使用
命令行使用
在命令行中使用 module-deps-sortable :
-------------------- ------- - ---------
其中 main.js
是你主入口文件路径,bundle.js
是输出文件路径。
API 使用
使用 module-deps-sortable 的 API 进行打包:
----- ------ - ------------------------------- ----- ---- - - -------- ------------ -------- ---------- ------ ---- - ------------ ------------ -------- ----- - ----------------------- ------------ -- ----------------------------------------
其中 opts 是配置项,包括 entries(入口文件)、basedir(基目录)、debug 等选项,可根据需要进行设置。
示例
假设我们有如下文件结构:
-------- --- ------- --- ---- - --- ---- - --- ---- - --- ---- --- ------------- --- ---- --- -------- --- ------------
主入口文件 main.js
代码如下:
----- - - ------------------ ----- - - ------------------ ----- - - ------------------ ----- --- - -------------- ------------------ ----- ----- --------
模块文件 lib/a.js
代码如下:
-------------- - ---
模块文件 lib/b.js
代码如下:
----- - - -------------- -------------- - -------
模块文件 lib/c.js
代码如下:
----- - - -------------- -------------- - -------
安装 module-deps-sortable 后,在命令行中运行:
-------------------- ------- - ---------
或者在项目中使用 module-deps-sortable 的 API 进行打包:
----- ------ - ------------------------------- ----- -- - ------------- ----- ---- - - -------- ------------ -------- ---------- ------ ---- - ------------ ------------ -------- ----- - ----------------------- ------------ -- ----------------------------------------
都会生成一个符合依赖顺序的 bundle.js
文件,内容如下:
--------- -------------- ------ -------- - --- ----------- - ------ ------- -- ----------- - ------- - ----- --- ------------- - ------- -- -------------- - ----------------------- -- - --- --- - ----------- -- -- -- - ----- --- -------------- -------- --- --- --------- --------- -- ------------------------- --- -------- - -- -- -------- ------ ---- -- - ----- -------- ---------------- ------- - -- -------------- - --- ------ - ----------- - - -------- -- -- ------------------------------------- ----------- - --- -- - -------------------- ------ ------------- - -- - --- -- ------- --------------- ------ --------------- - ------ -------------------- - --- ---- - - -- - - --------------- ---- - --- ------ - ----------- -- ----------- - --- ---- - - -- - - ----------------- ---- - -- --------------------- --------- ------------------------- - - - -------- ------------------------ ------- - ------ ------ - - -------- -- -- ---------- ---------------- --------------- - -- ------ ----------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------