有没有办法使用Vue路由器路由到html文件?

Kev*_*ick 3 html robotframework vue.js vue-router vue-component

您好,我正在使用 VueJS 和 webpack 模板。我有一堆可以用 Vue Router 轻松显示的组件。但是,我的组织使用 Robot Framework 进行测试,我们使用以下命令生成一个 HTML 页面:

python -m robot.testdoc /tests/directory /destination.html
Run Code Online (Sandbox Code Playgroud)

这基本上是我使用路由器的方式:

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
    }
  ]
})
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 Vue Router 路由到 HTML 文件?

Ohg*_*why 6

首先你需要html-loader

yarn add html-loader | npm install html-loader
Run Code Online (Sandbox Code Playgroud)

然后你需要更新你的webpack.config.js文件并添加一个条目rules来处理.html扩展:

{
    test: /\.(html)$/,
    exclude: /(node_modules)/,
    use: {
      loader: "html-loader"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以.html像导入组件一样导入文件:

import Destination from '/path/to/destination.html'
Run Code Online (Sandbox Code Playgroud)

现在将其component视为一个对象并利用该template属性来提供静态 HTML 文件:

 {
  path: '/destination',
  mode: history,
  name: 'destination',
  component: { template: Destination }
}
Run Code Online (Sandbox Code Playgroud)