1.0.5 • Published 6 years ago

sx-model-grab-webpack-plugin v1.0.5

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

model抓取工具

model文件可以集中写在models目录中,也可以分散写在各个模块中,以 model.js 或 user.model.js命名,通过脚本统将引用一收集到一起。

抓取方式

model文件命名约定,英文小写 加 连字符(减号)

/path/to/modle/user.js -> export user from '/path/to/modle/user.js';
/path/to/pages/user-center/model.js -> export userCenter from '/path/to/pages/user-center/model.js';
/path/to/pages/user-center/user-center.model.js -> export userCenter from '/path/to/pages/user-center/user-center.model.js';

设计成webpack插件

插件名:ModelGrabWebpackPlugin,model文件抓取 model抓取工具如果能设计成webpack,使用起来非常方便,提高通用性

参数

参数说明类型默认值
paths需要抓取的目录,一般是/path/to/pages/**/*.jsxstring or string-
ignored需要忽略的文件string or string-
output生成的文件输出目录string-
watch是否启用监听模式,一般开发模式下是trueboolen-
template文件生成模版,ejs文件,如果生成的文件不符合期望,可以自己通过模版生成文件内容string-
displayLog是否显示log信息booleanfalse

template模版文件能得到的数据

参数说明类型默认值
modelName模块名string-
path文件绝对路径string-
fileName不带扩展名的文件名string-
baseName含有扩展名的文件名string-

非webpack插件方式使用

const path = require('path');

const ModelGrabWebpackPlugin = require('./index');

const rcgwp = new ModelGrabWebpackPlugin({
    paths: [
        path.resolve(__dirname, './src/models/**/*.js'),
        path.resolve(__dirname, './src/pages/**/model.js'),
        path.resolve(__dirname, './src/pages/**/*.model.js'),
    ],
    ignored: [
        "**/index.js",
        "**/all-models.js"
    ],
    output: path.resolve(__dirname, './src/models/all-models.js'),
    watch: false,
    // template,
    displayLog: true,
});

rcgwp.modelGrab();