vue.js官方脚手架改造为多页面时访问html文件必须加后缀?

在用vue.js官方脚手架改造为多页面时,所有的配置都正确了,并且也能够热更行,可是就只在访问路径上有一点小问题。如图所示

v2-0f7bd2972739f5a92f37777254613fe5_b.png

我要访问home/index.html时必须把文件名写全了才能访问,如果去掉index.html之后就不能访问了,截图如下

v2-bef7e3b26ea1b9c1c77c5e934ea891fa_b.png

在实际项目中我们定义的路由一般都是没有index.html这样的,在网上找了很多都没有找到怎样解决这个问题,请问怎样配置才能够不用加index.html呢,这是在调试模式下的,所有的调试和build出来的文件都是没有问题的。就是访问路径必须交后面的一串,求大神解答,刚入手webpack与vuejs

阅读 8.4k
2 个回答

已解决,直接去掉connect-history-api-fallback这个中间件就可以了,如果不去掉也可以通过如下代码改写

// SPA应用浏览器回退支持配置
var rewrites = {
  rewrites: [{
    from: '/home/', // 正则或者字符串
    to: '/home/index.html', // 字符串或者函数
  }]
}
// SPA应用浏览器回退支持
// 多页网站可以直接注释掉
var historyMiddleware = require('connect-history-api-fallback')(rewrites);
// handle fallback for HTML5 history API
app.use(historyMiddleware)

什么叫改造为多页面?怎么改造的?在 webpack 配置文件里增加了几个 entry 并分别打包吗?

vue-cli 提供的项目中使用了 connect-history-api-fallback,你可以从这方面找找原因。

另外,打包的文件可以考虑使用 live-server 来启动服务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题