@snacking/pretreat

根据约定的结构配置,进行资源预处理...

Usage no npm install needed!

<script type="module">
  import snackingPretreat from 'https://cdn.skypack.dev/@snacking/pretreat';
</script>

README

@snacking/pretreat 使用指南

说明

基于gulp开发,目的是,只要配置好资源路径,执行命令就能进行资源预处理...

全局安装

npm install @snacking/pretreat -g

查看版本号

sn-pr -v

准备配置文件

sn-pr init

将得到配置文件示例pretreat.json,该文件里做了较为详细的配置说明...

主要是设置需要执行什么任务,资源源路径,输出路径,是否压缩等等...

本工具会依据该配置进行资源预处理...

目前支持:

  • less编译成css,以及合并、压缩
  • css的合并、压缩
  • js的合并、压缩,支持babel转换
  • html的合并、压缩
  • json的合并、压缩,属性值支持js函数
  • 图像的压缩
  • 各类资源的复制

例子

1、在当前目录里,将js做压缩并输出,并且使用babel转换

{
  "projects": [
    {
      "js": {
        "useBabel": true,
        "paths": [
          {
            "source": "./",
            "minify": true
          }
        ]
      }
    }
  ]
}

2、将当前目录的js及其压缩文件输出到dist目录

{
    "output": "./dist",
    "projects": [
        {
            "js": {
                "paths": [
                    {
                        "source": "./",
                        "minify": true
                    }
                ]
            }
        }
    ]
}

3、需要处理的资源在不同的工程中:./demo_1 ./demo_2

{
    "projects": [
        {
            "name": "demo_1"
            "js": {
                "paths": [
                    {
                        "source": "",
                        "minify": true
                    }
                ]
            }
        },
        {
            "name": "demo_2"
            "js": {
                "paths": [
                    {
                        "source": "",
                        "minify": true
                    }
                ]
            }
        }
    ]
}

4、需要处理的资源有较长的公共目录:./demo_1/src

{
    "projects": [
        {
            "base": "./demo/src",
            "js": {
                "paths": [
                    {
                        "source": "",
                        "minify": true
                    }
                ]
            }
        }
    ]
}

执行预处理

sn-pr

选项

该命令有4个选项...

-clr --clear [path]            指定预处理前需要清空的目录,默认不清空任何目录
-cfg --config [fileName]       指定配置文件名称,默认使用pretreat.json
-w --watch [open]              是否开启监听,默认不监听
-pn --pName [projectName]      指定项目名处理,如果在配置文件里设置了项目名称,默认全部处理

例子

sn-pr -clr ./dist/**/*.*       预处理前清空dist目录下所有文件
sn-pr -cfg example.json        把example.json作为配置文件
sn-pr -w true                  开启监听
sn-pr -pn demo                 仅处理demo项目里的任务

使用多个选项...

sn-pr -clr ./dist/**/*.* -cfg example.json

如果不需要选项里的内容,且配置文件名为pretreat.json,执行

sn-pr

即可...