【vue-cli踩坑】Failed to load resource: net::ERR_FILE_NOT_FOUND或者build之后dist文件下的index.html不显示内容
这里会介绍 vue-cil@2 和 vue-cil@3 两种方式创建项目的解决方案
场景
通过vue-cli创建的项目
npm run dev
运行开发环境可以看到效果,
但是 npm run bulid
之后,生成的dist文件下的index.html直接打开不显示内容,看不到效果,报错如下:
vue-cli@2
解决方案:
在 webpack.prod.conf.js 中的 output 添加参数publicPath:'./'
具体代码:
在 webpack.prod.conf.js 里
output: {
publicPath: process.env.NODE_ENV === 'production'
? './' +config.build.assetsPublicPath
: './' + config.dev.assetsPublicPath,
// 上面是添加代码
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
}
这时候再打包,打开 dist 下的 index.html 就显示内容了
vue-cli@3
解决方案:
-
在项目根目录新建文件
vue.config.js
并写如下代码:// vue.config.js module.exports = { publicPath: './' }
-
然后,关键的一步,在
src/router.js
中删去mode: 'history'
// ... export default new Router({ // mode: 'history', // 有这句的删掉,没有就不用管 base: process.env.BASE_URL, routes: [ { path: '/', name: 'home', component: Home } ] })
现在再打包就可以了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。