Is there a way to route to html files with Vue router?

北慕城南 提交于 2019-12-07 16:52:14

问题


Hello I am using VueJS and the webpack template. I have a bunch of components I can easily display with Vue Router. However, my organization uses Robot Framework for testing and we generate an HTML page using the command:

python -m robot.testdoc /tests/directory /destination.html

This is basically how I am using the router:

import Vue from 'vue'
import Router from 'vue-router'
import Main from '@/components/Main.vue'
import Component1 from '@/components/Component1.vue'
import Component2 from '@/components/Component2.vue'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      mode: history,
      name: 'Main',
      component: Main
    },
    {
      path: '/component1',
      mode: history,
      name: 'Component1',
      component: Component1
    },
    {
      path: '/component2',
      mode: history,
      name: 'Component2',
      component: Component2
    }
  ]
})

Is there a way to route to an HTML file using Vue Router?


回答1:


First you'll need html-loader:

yarn add html-loader | npm install html-loader

Then you need to update your webpack.config.js file and add an entry to your rules to handle .html extensions:

{
    test: /\.(html)$/,
    exclude: /(node_modules)/,
    use: {
      loader: "html-loader"
    }
}

Then you can import your .html files like you would components:

import Destination from '/path/to/destination.html'

Now treat component as an Object and leverage the template property to serve static HTML files:

 {
  path: '/destination',
  mode: history,
  name: 'destination',
  component: { template: Destination }
}


来源:https://stackoverflow.com/questions/53174823/is-there-a-way-to-route-to-html-files-with-vue-router

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!