y-free-loader

2.0.1 • Public • Published

#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参数

key value default
data 可执行的代码块
type insert/delete insert
startKey loader执行的起始点 y-loader-start
endKey loader执行的结束点 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:'结束'
        }
    }     

Package Sidebar

Install

npm i y-free-loader

Weekly Downloads

4

Version

2.0.1

License

ISC

Unpacked Size

5.72 kB

Total Files

5

Last publish

Collaborators

  • yby14138993