Thanks to vite-plugin-vue-setup-extend.
Name support for setup syntax sugar
The project is based on vite-plugin-vue-setup-extend and unplugin implementations.
The project applies to vue3 and vue2+composition-api
npm i unplugin-vue-setup-extend --save-dev
or
yarn add unplugin-vue-setup-extend --dev
Vite
// vite.config.ts
import VueSetupExtend from "unplugin-vue-setup-extend/vite";
export default defineConfig({
plugins: [
VueSetupExtend({
/* options */
}),
],
});
Example: examples/vite
Rollup
// rollup.config.js
import VueSetupExtend from "unplugin-vue-setup-extend/rollup";
export default {
plugins: [
VueSetupExtend({
/* options */
}),
],
};
Webpack
// webpack.config.js
module.exports = {
/* ... */
plugins: [
require("unplugin-vue-setup-extend/webpack")({
/* options */
}),
],
};
Nuxt
// nuxt.config.js
export default {
buildModules: [
[
"unplugin-vue-setup-extend/nuxt",
{
/* options */
},
],
],
};
This module works for both Nuxt 2 and Nuxt Vite
Nuxt3
// nuxt.config.js
import VueSetupExtend from "unplugin-vue-setup-extend/vite"
export default {
vite: {
plugins: [VueSetupExtend({})],
}
};
This module works for both Nuxt 3
Vue CLI
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
require("unplugin-vue-setup-extend/webpack")({
/* options */
}),
],
},
};
Example: examples/vue-cli
<template> </template>
<script setup lang="ts" name="App"></script>
If you have two scripts in your project, we will not convert them; please set the name property yourself in a normal script
<template> </template>
<script setup lang="ts" name="App">
// This "name" here will not take effect.
</script>
<script lang="ts">
export default {
name: "App",
};
</script>