是否可以使用Vue路由器路由到html文件?

时间:2018-11-06 15:19:37

标签: html vue.js vue-component robotframework vue-router

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

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

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

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
    }
  ]
})

是否可以使用Vue Router路由到HTML文件?

2 个答案:

答案 0 :(得分:3)

首先,您需要html-loader

yarn add html-loader | npm install html-loader

然后,您需要更新webpack.config.js文件并向rules添加一个条目以处理.html扩展名:

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

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

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

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

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

答案 1 :(得分:0)

1.安装html-loader

npm install --save-dev html-loader

2.使用下面的代码 vue.config.js 或 Webpack.config.js

对于 webpack.config.js

module.exports = {
  module: {
    rules: [
      {
        test: /\.html$/i,
        loader: 'html-loader',
      },
    ],
  },
};

对于 Vue cli 用户 vue.config.js

module.exports = {
    chainWebpack: config => {
        config.module
          .rule('html')
          .test(/\.html$/)
          .use('html-loader')
          .loader('html-loader')
      }
}

只需在您的路由器中添加路由器

{
        path: '/print',
        name: 'print',

        component: () => import('../pages/print.html'),

    },