123456789101112131415161718192021222324252627282930313233343536373839 |
- module.exports = (api, options = {}) => {
- api.injectImports(api.entryFile, `import router from './router'`)
- api.injectRootOptions(api.entryFile, `router`)
- api.extendPackage({
- dependencies: {
- 'vue-router': '^3.0.3'
- }
- })
- api.render('./template', {
- historyMode: options.routerHistoryMode,
- doesCompile: api.hasPlugin('babel') || api.hasPlugin('typescript')
- })
- if (api.invoking) {
- api.postProcessFiles(files => {
- const appFile = files[`src/App.vue`]
- if (appFile) {
- files[`src/App.vue`] = appFile.replace(/^<template>[^]+<\/script>/, `
- <template>
- <div id="app">
- <div id="nav">
- <router-link to="/">Home</router-link> |
- <router-link to="/about">About</router-link>
- </div>
- <router-view/>
- </div>
- </template>
- `.trim())
- }
- })
- if (api.hasPlugin('typescript')) {
- /* eslint-disable-next-line node/no-extraneous-require */
- const convertFiles = require('@vue/cli-plugin-typescript/generator/convert')
- convertFiles(api)
- }
- }
- }
|