2.0.1 • Published 6 years ago

y-free-loader v2.0.1

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

#y-free-loader

loader介绍

能在文件中插入代码,或者删除代码。

如果你的项目在个别环境的中需要执行一些代码,但是又不想写在业务逻辑中,影响维护,也许这个loader能够帮助你。

或者 某些代码打包的你需要删除,也可以帮到你。

使用方式 如其他loader一样正常使用

支持query和options的方式传参
    {
        test: require.resolve(resolve('src/plugins/http')),
        loader:`y-free-loader?data="console.log('y-free-loader')"`,
    } 
    {
        test: /\.(css)$/,
        use:['css-loader','style-loader',{
            loader:'y-free-loader',
            options:{
                data:'display:none'
            }
        }],
    },

options参数

keyvaluedefault
data可执行的代码块
typeinsert/deleteinsert
startKeyloader执行的起始点y-loader-start
endKeyloader执行的结束点y-loader-end

实例1 insert 表达式

结果将被插入在标识之间

let free = 1;
// y-loader-start

// y-loader-end
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader?data="free = 99"`,
    } 

实例2 insert 函数

结果将被插入在标识之间

// y-loader-start

// y-loader-end
    let free = `
        function free(name){
            console.log(name)
        }
        free()
    `
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader?data=${free}`,
    } 
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader`,
        options:{
            data:free
        }
    }     

实例3 insert 模块

结果将被插入在标识之间

// y-loader-start

// y-loader-end
    let free = `
        let md5 = require('md5')
        ...
    `
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader?data=${free}`,
    } 
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader`,
        options:{
            data:free
        }
    }     

实例3 delete

删除标识之间的内容

// y-loader-start
    function delete(){
        console.log('delete')
    }
// y-loader-end
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader?type='delete'`,
    } 
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader`,
        options:{
            type:delete
        }
    }     

实例4 自定义标识

自定义标识

// 开始
    function delete(){
        console.log('delete')
    }
// 结束
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader?type=delet&startKey='开始'&endKey='结束'`,
    } 
    {
        test: require.resolve(resolve('src/index.js')),
        loader:`y-free-loader`,
        options:{
            type:delete,
            startKey'开始',
            endKey:'结束'
        }
    }