最近想吧商城项目由原来的 laravel 和 vue 分开写的(相当于两个项目,很多人觉得麻烦,然后很多人不会用),现在想把他整合到一个项目里面用laravel-mix来使用,之前也有个项目mix整合的,整合的时候直接全部生成在public 目录所有没有任何问题,这次想把打包文件放入到dist目录 各种报错来了,特别是这个
用hash模式没有任何问题,切换到history就开始了,
点击切换到子页面,从子页面再跳转其他页面,出现这些问题,在首页第一次切换路由没有问题,然后在子页面进行刷新,直接跳转到首页空白,然后也是上面的报错,弄了四五个小时才知道少了一个 “/”
require('laravel-mix-polyfill');
mix.js('resources/js/app.js', 'public/dist/js')
.sass('resources/sass/app.scss', 'public/dist/css')
.setPublicPath('public/dist')
.setResourceRoot('/dist/')
.polyfill({
enabled: true,
useBuiltIns: "usage",
targets: {"firefox": "50", "ie": 11},
})
.webpackConfig({
output: {
publicPath: '/dist/', // 问题出在这里,之前使用的 publicPath: 'dist/',
filename: '[name].js',
chunkFilename : '[name].js?id=[chunkhash:20]'
},
resolve: {
alias: {
'@': path.resolve('resources/js/')
}
}
})
.version();
顺便记录下,如果在Linux下出现子页面刷新404,可以看下面文档
https://router.vuejs.org/zh/guide/essentials/history-mode.html