Skip to content

Commit

Permalink
# This is a combination of 7 commits.
Browse files Browse the repository at this point in the history
# This is the 1st commit message:

chore: resolve conflicts

# This is the commit message posva#2:

fix: fix the vue-loader error

# This is the commit message posva#3:

fix: setup return route

# This is the commit message posva#4:

fix: lint fix

# This is the commit message posva#5:

Update examples/webpack/shims-vue.d.ts

Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
# This is the commit message posva#6:

chore: update webpack deps & lock file

# This is the commit message posva#7:

chore: update webpack deps & lock file
  • Loading branch information
zhangmo8 authored and jiahengz committed Aug 5, 2024
1 parent af290b9 commit 9668fbb
Show file tree
Hide file tree
Showing 15 changed files with 3,325 additions and 44 deletions.
1 change: 1 addition & 0 deletions examples/webpack/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# uplugin-vue-router-webpack-example
1 change: 1 addition & 0 deletions examples/webpack/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/// <reference types="unplugin-vue-router/client" />
27 changes: 27 additions & 0 deletions examples/webpack/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "webpack",
"private": true,
"type": "module",
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"preview": "npm run build && serve -s dist"
},
"dependencies": {
"vue": "^3.3.4",
"vue-loader": "^17.4.2",
"vue-router": "^4.2.2"
},
"devDependencies": {
"@vue/cli-plugin-router": "^5.0.8",
"@vue/cli-plugin-typescript": "^5.0.8",
"typescript": "^5.5.4",
"unplugin-vue-router": "workspace:*"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"not ie 11"
]
}
16 changes: 16 additions & 0 deletions examples/webpack/public/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
6 changes: 6 additions & 0 deletions examples/webpack/shims-vue.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/* eslint-disable */
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
18 changes: 18 additions & 0 deletions examples/webpack/src/App.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<script lang="ts" setup>
import { useRoute } from 'vue-router'
const route = useRoute()
</script>

<template>
<header>
<div class="wrapper">
<mark>current page name is: {{ route.name }}</mark>
<nav>
<RouterLink to="/">Home</RouterLink>
<RouterLink to="/demo">Demo</RouterLink>
</nav>
</div>
</header>
<router-view></router-view>
</template>
13 changes: 13 additions & 0 deletions examples/webpack/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { createApp } from 'vue'
import App from './App.vue'
import { createWebHistory, createRouter } from 'vue-router'
import { routes } from 'vue-router/auto-routes'

const router = createRouter({
history: createWebHistory(),
routes,
})

const app = createApp(App)
app.use(router)
app.mount('#app')
3 changes: 3 additions & 0 deletions examples/webpack/src/pages/about.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<template>
<main>About</main>
</template>
3 changes: 3 additions & 0 deletions examples/webpack/src/pages/demo/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<template>
<main>Demo</main>
</template>
25 changes: 25 additions & 0 deletions examples/webpack/src/pages/detail/[id].vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<script lang="ts">
import { definePage } from 'unplugin-vue-router/runtime'
import { useRoute } from 'vue-router/auto'
export default {
setup() {
const route = useRoute()
definePage({
meta: {
iu: true,
},
})
console.log(route.meta)
return {
route,
}
},
}
</script>

<template>
<main>Detail {{ route.params.id }}</main>
</template>
9 changes: 9 additions & 0 deletions examples/webpack/src/pages/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<script lang="ts" setup>
import { ref } from 'vue'
const msg = ref('hello world')
</script>

<template>
<main>Home {{ msg }}</main>
</template>
16 changes: 16 additions & 0 deletions examples/webpack/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"include": [
"./env.d.ts",
"shims-vue.d.ts",
"src/**/*",
"src/**/*.vue",
"shims-vue.d.ts",
"./typed-router.d.ts"
],
"moduleFileExtensions": ["ts", "js", "vue", "json"],
"compilerOptions": {
"moduleResolution": "Bundler",
"baseUrl": "../../"
}
}
26 changes: 26 additions & 0 deletions examples/webpack/typed-router.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️
// It's recommended to commit this file.
// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.

declare module 'vue-router/auto-routes' {
import type {
RouteRecordInfo,
ParamValue,
ParamValueOneOrMore,
ParamValueZeroOrMore,
ParamValueZeroOrOne,
} from 'vue-router'

/**
* Route name map generated by unplugin-vue-router
*/
export interface RouteNamedMap {
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
'/about': RouteRecordInfo<'/about', '/about', Record<never, never>, Record<never, never>>,
'/demo/': RouteRecordInfo<'/demo/', '/demo', Record<never, never>, Record<never, never>>,
'/detail/[id]': RouteRecordInfo<'/detail/[id]', '/detail/:id', { id: ParamValue<true> }, { id: ParamValue<false> }>,
}
}
22 changes: 22 additions & 0 deletions examples/webpack/vue.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { defineConfig } from '@vue/cli-service'
import routerPlugin from 'unplugin-vue-router/webpack'

export default defineConfig({
lintOnSave: false,
configureWebpack: {
plugins: [
routerPlugin({
routesFolder: './src/pages',
}),
],
devServer: {
allowedHosts: 'all',
},
output: {
libraryTarget: 'module',
},
experiments: {
outputModule: true,
},
},
})
Loading

0 comments on commit 9668fbb

Please sign in to comment.