猿问

Vue项目中index.html中的相对路径,打包后未变成绝对路径如何修改

问题描述

在Vue项目中,index.html 我使用了script标签引入了一个在static目录下的文件

这是项目目录,我的js在static/js/xxxx.js

<script src="./static/js/xxx.js" ></script>

在dev情况下是可以使用的,但是在打包到dist后,dist目中的index.html,
还是

<script src="./static/js/xxx.js" ></script>

这样的话,我已经该怎么修复呢


慕森王
浏览 5801回答 2
2回答

繁花如伊

在webpack.base.conf.js中resolve:&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;extensions:&nbsp;['.js',&nbsp;'.vue',&nbsp;'.json'], &nbsp;&nbsp;&nbsp;&nbsp;alias:&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'vue$':&nbsp;'vue/dist/vue.esm.js',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'@':&nbsp;resolve('src'),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'static':path.resolve(__dirname,'../static')&nbsp;&nbsp;//添加这行 &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;},使用时 'static/js/lalal.js' 前面不用 ./utils.js中if&nbsp;(options.extract)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;ExtractTextPlugin.extract({ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use:&nbsp;loaders, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fallback:&nbsp;'vue-style-loader', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;publicPath:'../../'&nbsp;&nbsp;&nbsp;//添加这行 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}) &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;['vue-style-loader'].concat(loaders) &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;}index.js中assetsPublicPath: './', //前面加个点这样打包后路径就不会有错了

哆啦的时光机

如果你用history模式,是不用修改配置文件的配置打包路径的,你只需要让后台配置,并且你还要做一个路由跳转错误处理。如果你是使用hash模式,那么你就采用1楼所说的办法。
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答