2.0.1 • Published 7 years ago
y-free-loader v2.0.1
#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:'结束'
}
}