Open
Description
// package.json
{
"dependencies": {
"vue": "~2.7.8",
},
"devDependencies": {
"@babel/core": "^7.18.10",
"@vitejs/plugin-legacy": "~2.0.0",
"@vitejs/plugin-vue2": "^1.1.2",
"@vitejs/plugin-vue2-jsx": "^1.0.2",
"terser": "^5.14.2",
"vite": "~3.0.3",
},
"engines": {
"node": "^16.0.0",
"pnpm": "^7.9.0"
},
}
// vite.config.js
import { defineConfig } from 'vite';
import legacy from '@vitejs/plugin-legacy';
import vue2 from '@vitejs/plugin-vue2';
import vue2Jsx from '@vitejs/plugin-vue2-jsx';
export default defineConfig(({ command, mode }) => {
return {
plugins: [
vue2(),
vue2Jsx(),
legacy({
// When targeting IE11, you also need regenerator-runtime
additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
}),
],
};
});
// demo.vue
<script lang="jsx">
import { defineComponent, ref } from 'vue';
let index = 0;
export default defineComponent({
setup() {
const date1 = ref(new Date());
// Invalid prop: type check failed for prop "value". Expected Date, String, Array, got Object
const datePicker1 = <DatePicker v-model={date1}></DatePicker>;
const date2 = new Date()
// Although there is no warning above, but this loses reactive
const datePicker2 = <DatePicker v-model={date2}></DatePicker>;
const date3 = ref(new Date());
// [plugin:vite:vue2-jsx] unknown: Cannot read properties of undefined (reading 'body')
const datePicker3 = <DatePicker v-model={date3.value}></DatePicker>;
return () => datePicker;
},
});
</script>
Metadata
Assignees
Labels
No labels