在使用vue-cli的webpack-simple + vue-router时候,npm run build出来的东西不管用?

如果我只是单单地使用webpack-simple的话,build出来的东西是可以直接通过index.html访问的,但是如果结合了vue-router的话就不行了,提示这样的错误:

clipboard.png

但是如果直接npm run dev的话,路由啥的都是正常的,这是为什么呢?
这是我的项目目录:

clipboard.png

阅读 8.3k
5 个回答

你要serve根目录才行
npm install -g anywhere
然后在根目录anywhere一下

从你的错误看,你应该是直接打开index.html了。使用任何路由功能的时候,最好使用npm run dev,他会启动一个微型的静态服务器来serve你的请求,这也是最好的方式。

至于直接打开文件为什么不工作,我的建议的别研究了,就算你真搞出来也没有任何意义,网站始终是需要服务器来serve的,不是靠直接打开文件来访问的

补充:

把你的webpack.config.js里的publicPath改成dist/,前面那个/去掉,再试试

修改你的项目配置

config/index.js

// 这里置为空
assetsPublicPath: ''
// 重新打包
npm run build

就可以以文件的形式打开了

我猜因为index.html中资源的url是/开头
必须以web服务方式打开
而你用文件方式打开了index.html

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