webpack Integration
Pre-Release
Verter is pre-release software. APIs may change between releases — see the API Stability document.
Verter provides a webpack plugin through @verter/unplugin. It replaces vue-loader for compiling Vue Single File Components.
Installation
sh
pnpm add -D @verter/unpluginsh
npm install -D @verter/unpluginsh
yarn add -D @verter/unpluginConfiguration
js
// webpack.config.js
const VerterWebpack = require('@verter/unplugin/webpack').default
module.exports = {
plugins: [VerterWebpack()],
}Or with ES module syntax:
ts
// webpack.config.ts
import VerterWebpack from '@verter/unplugin/webpack'
export default {
plugins: [VerterWebpack()],
}Style Loaders
Verter handles Vue SFC compilation, but you still need standard webpack loaders for CSS processing. Make sure you have the appropriate style loaders configured:
js
// webpack.config.js
const VerterWebpack = require('@verter/unplugin/webpack').default
module.exports = {
plugins: [VerterWebpack()],
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
// Add loaders for preprocessors as needed:
{
test: /\.scss$/,
use: ['style-loader', 'css-loader', 'sass-loader'],
},
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader'],
},
],
},
}HMR Behavior
When using webpack-dev-server, Verter supports Hot Module Replacement. The HMR strategy is automatically set to "webpack" when running under webpack, which uses webpack's built-in HMR API instead of Vite's.
Options
All options from the Vite integration guide are available:
include-- File patterns to includecomponentId-- Custom component ID generatorpreCompile-- Pre-compile.vuefiles at build startcrossFileOptimize-- Cross-file prop constness optimizationtemplate-- Template compiler options
js
const VerterWebpack = require('@verter/unplugin/webpack').default
module.exports = {
plugins: [
VerterWebpack({
preCompile: true,
template: {
compilerOptions: {
isCustomElement: (tag) => tag.startsWith('my-'),
},
},
}),
],
}