elem.onclick = e => this.onClick(e); // замыканием - так. этот код - не совсем эквивалент, но делает то же.
chain.module
.rule('svg-raw')
.test(/\.svg$/)
.resourceQuery(/raw/) // import icon from 'file.svg?raw'
.type('asset/source')
chain.module
.rule('svg-icon')
.test(/\.svg$/)
.resourceQuery(/icon/) // import icon from 'file.svg?icon'
.use()
.loader('svg-sprite-loader').options({ spriteFilename: 'icons.svg' })
.end()
// старое правило из бойлерплэйта
chain.module.rule('images').resourceQuery(/^$/) // пустой query
import { defineStore } from 'pinia'
const storeDefinition = {
state: () => {
return { count: 0 }
},
actions: {
increment() {
this.count++
},
},
}
const stores = {}
export function getCounterStore(key) {
if (!stores[key]) stores[key] = defineStore(key, storeDefinition)
return stores[key]()
}
import {getCounterStore} from 'awesome-counter-store.js'
...
const store1 = getCounterStore('key1')
const store2 = getCounterStore('key2')