diff --git a/packages/artplayer-template/vue2.js/.gitignore b/packages/artplayer-template/vue2.js/.gitignore
new file mode 100644
index 000000000..403adbc1e
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/.gitignore
@@ -0,0 +1,23 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/packages/artplayer-template/vue2.js/README.md b/packages/artplayer-template/vue2.js/README.md
new file mode 100644
index 000000000..f1b71d4ae
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/README.md
@@ -0,0 +1,24 @@
+# hello-world
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/packages/artplayer-template/vue2.js/babel.config.js b/packages/artplayer-template/vue2.js/babel.config.js
new file mode 100644
index 000000000..e9558405f
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/babel.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ presets: [
+ '@vue/cli-plugin-babel/preset'
+ ]
+}
diff --git a/packages/artplayer-template/vue2.js/jsconfig.json b/packages/artplayer-template/vue2.js/jsconfig.json
new file mode 100644
index 000000000..4aafc5f6e
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/jsconfig.json
@@ -0,0 +1,19 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "module": "esnext",
+ "baseUrl": "./",
+ "moduleResolution": "node",
+ "paths": {
+ "@/*": [
+ "src/*"
+ ]
+ },
+ "lib": [
+ "esnext",
+ "dom",
+ "dom.iterable",
+ "scripthost"
+ ]
+ }
+}
diff --git a/packages/artplayer-template/vue2.js/package.json b/packages/artplayer-template/vue2.js/package.json
new file mode 100644
index 000000000..5453c5142
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/package.json
@@ -0,0 +1,44 @@
+{
+ "name": "hello-world",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "serve": "vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "lint": "vue-cli-service lint"
+ },
+ "dependencies": {
+ "artplayer": "^4.4.7",
+ "core-js": "^3.8.3",
+ "vue": "^2.6.14"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.12.16",
+ "@babel/eslint-parser": "^7.12.16",
+ "@vue/cli-plugin-babel": "~5.0.0",
+ "@vue/cli-plugin-eslint": "~5.0.0",
+ "@vue/cli-service": "~5.0.0",
+ "eslint": "^7.32.0",
+ "eslint-plugin-vue": "^8.0.3",
+ "vue-template-compiler": "^2.6.14"
+ },
+ "eslintConfig": {
+ "root": true,
+ "env": {
+ "node": true
+ },
+ "extends": [
+ "plugin:vue/essential",
+ "eslint:recommended"
+ ],
+ "parserOptions": {
+ "parser": "@babel/eslint-parser"
+ },
+ "rules": {}
+ },
+ "browserslist": [
+ "> 1%",
+ "last 2 versions",
+ "not dead"
+ ]
+}
diff --git a/packages/artplayer-template/vue.js/public/favicon.ico b/packages/artplayer-template/vue2.js/public/favicon.ico
similarity index 100%
rename from packages/artplayer-template/vue.js/public/favicon.ico
rename to packages/artplayer-template/vue2.js/public/favicon.ico
diff --git a/packages/artplayer-template/vue2.js/public/index.html b/packages/artplayer-template/vue2.js/public/index.html
new file mode 100644
index 000000000..3e5a13962
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/public/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ <%= htmlWebpackPlugin.options.title %>
+
+
+
+
+
+
+
diff --git a/packages/artplayer-template/vue.js/src/App.vue b/packages/artplayer-template/vue2.js/src/App.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/App.vue
rename to packages/artplayer-template/vue2.js/src/App.vue
diff --git a/packages/artplayer-template/vue.js/src/Artplayer.vue b/packages/artplayer-template/vue2.js/src/Artplayer.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/Artplayer.vue
rename to packages/artplayer-template/vue2.js/src/Artplayer.vue
diff --git a/packages/artplayer-template/vue2.js/src/assets/logo.png b/packages/artplayer-template/vue2.js/src/assets/logo.png
new file mode 100644
index 000000000..f3d2503fc
Binary files /dev/null and b/packages/artplayer-template/vue2.js/src/assets/logo.png differ
diff --git a/packages/artplayer-template/vue2.js/src/components/HelloWorld.vue b/packages/artplayer-template/vue2.js/src/components/HelloWorld.vue
new file mode 100644
index 000000000..879051a29
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/src/components/HelloWorld.vue
@@ -0,0 +1,58 @@
+
+
+
{{ msg }}
+
+ For a guide and recipes on how to configure / customize this project,
+ check out the
+ vue-cli documentation.
+
+
Installed CLI Plugins
+
+
Essential Links
+
+
Ecosystem
+
+
+
+
+
+
+
+
diff --git a/packages/artplayer-template/vue2.js/src/main.js b/packages/artplayer-template/vue2.js/src/main.js
new file mode 100644
index 000000000..63eb05f71
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/src/main.js
@@ -0,0 +1,8 @@
+import Vue from 'vue'
+import App from './App.vue'
+
+Vue.config.productionTip = false
+
+new Vue({
+ render: h => h(App),
+}).$mount('#app')
diff --git a/packages/artplayer-template/vue2.js/vue.config.js b/packages/artplayer-template/vue2.js/vue.config.js
new file mode 100644
index 000000000..88ab39131
--- /dev/null
+++ b/packages/artplayer-template/vue2.js/vue.config.js
@@ -0,0 +1,5 @@
+const { defineConfig } = require('@vue/cli-service');
+module.exports = defineConfig({
+ transpileDependencies: true,
+ lintOnSave: false,
+});
diff --git a/packages/artplayer-template/vue.js/.gitignore b/packages/artplayer-template/vue3.js/.gitignore
similarity index 100%
rename from packages/artplayer-template/vue.js/.gitignore
rename to packages/artplayer-template/vue3.js/.gitignore
diff --git a/packages/artplayer-template/vue.js/README.md b/packages/artplayer-template/vue3.js/README.md
similarity index 100%
rename from packages/artplayer-template/vue.js/README.md
rename to packages/artplayer-template/vue3.js/README.md
diff --git a/packages/artplayer-template/vue.js/index.html b/packages/artplayer-template/vue3.js/index.html
similarity index 100%
rename from packages/artplayer-template/vue.js/index.html
rename to packages/artplayer-template/vue3.js/index.html
diff --git a/packages/artplayer-template/vue.js/package.json b/packages/artplayer-template/vue3.js/package.json
similarity index 100%
rename from packages/artplayer-template/vue.js/package.json
rename to packages/artplayer-template/vue3.js/package.json
diff --git a/packages/artplayer-template/vue3.js/public/favicon.ico b/packages/artplayer-template/vue3.js/public/favicon.ico
new file mode 100644
index 000000000..df36fcfb7
Binary files /dev/null and b/packages/artplayer-template/vue3.js/public/favicon.ico differ
diff --git a/packages/artplayer-template/vue3.js/src/App.vue b/packages/artplayer-template/vue3.js/src/App.vue
new file mode 100644
index 000000000..3133c817a
--- /dev/null
+++ b/packages/artplayer-template/vue3.js/src/App.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/artplayer-template/vue3.js/src/Artplayer.vue b/packages/artplayer-template/vue3.js/src/Artplayer.vue
new file mode 100644
index 000000000..d5b2cbd30
--- /dev/null
+++ b/packages/artplayer-template/vue3.js/src/Artplayer.vue
@@ -0,0 +1,36 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/artplayer-template/vue.js/src/assets/base.css b/packages/artplayer-template/vue3.js/src/assets/base.css
similarity index 100%
rename from packages/artplayer-template/vue.js/src/assets/base.css
rename to packages/artplayer-template/vue3.js/src/assets/base.css
diff --git a/packages/artplayer-template/vue.js/src/assets/logo.svg b/packages/artplayer-template/vue3.js/src/assets/logo.svg
similarity index 100%
rename from packages/artplayer-template/vue.js/src/assets/logo.svg
rename to packages/artplayer-template/vue3.js/src/assets/logo.svg
diff --git a/packages/artplayer-template/vue.js/src/components/HelloWorld.vue b/packages/artplayer-template/vue3.js/src/components/HelloWorld.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/HelloWorld.vue
rename to packages/artplayer-template/vue3.js/src/components/HelloWorld.vue
diff --git a/packages/artplayer-template/vue.js/src/components/TheWelcome.vue b/packages/artplayer-template/vue3.js/src/components/TheWelcome.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/TheWelcome.vue
rename to packages/artplayer-template/vue3.js/src/components/TheWelcome.vue
diff --git a/packages/artplayer-template/vue.js/src/components/WelcomeItem.vue b/packages/artplayer-template/vue3.js/src/components/WelcomeItem.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/WelcomeItem.vue
rename to packages/artplayer-template/vue3.js/src/components/WelcomeItem.vue
diff --git a/packages/artplayer-template/vue.js/src/components/icons/IconCommunity.vue b/packages/artplayer-template/vue3.js/src/components/icons/IconCommunity.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/icons/IconCommunity.vue
rename to packages/artplayer-template/vue3.js/src/components/icons/IconCommunity.vue
diff --git a/packages/artplayer-template/vue.js/src/components/icons/IconDocumentation.vue b/packages/artplayer-template/vue3.js/src/components/icons/IconDocumentation.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/icons/IconDocumentation.vue
rename to packages/artplayer-template/vue3.js/src/components/icons/IconDocumentation.vue
diff --git a/packages/artplayer-template/vue.js/src/components/icons/IconEcosystem.vue b/packages/artplayer-template/vue3.js/src/components/icons/IconEcosystem.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/icons/IconEcosystem.vue
rename to packages/artplayer-template/vue3.js/src/components/icons/IconEcosystem.vue
diff --git a/packages/artplayer-template/vue.js/src/components/icons/IconSupport.vue b/packages/artplayer-template/vue3.js/src/components/icons/IconSupport.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/icons/IconSupport.vue
rename to packages/artplayer-template/vue3.js/src/components/icons/IconSupport.vue
diff --git a/packages/artplayer-template/vue.js/src/components/icons/IconTooling.vue b/packages/artplayer-template/vue3.js/src/components/icons/IconTooling.vue
similarity index 100%
rename from packages/artplayer-template/vue.js/src/components/icons/IconTooling.vue
rename to packages/artplayer-template/vue3.js/src/components/icons/IconTooling.vue
diff --git a/packages/artplayer-template/vue.js/src/main.js b/packages/artplayer-template/vue3.js/src/main.js
similarity index 100%
rename from packages/artplayer-template/vue.js/src/main.js
rename to packages/artplayer-template/vue3.js/src/main.js
diff --git a/packages/artplayer-template/vue.js/vite.config.js b/packages/artplayer-template/vue3.js/vite.config.js
similarity index 100%
rename from packages/artplayer-template/vue.js/vite.config.js
rename to packages/artplayer-template/vue3.js/vite.config.js