如果静态文件不是部署在网站根目录下,vue-cli将给你造成巨大的麻烦,你不能直接把build好的文件抛进一个目录,你不能直接在本地打开用vue做好的静态网站。改成相对路径,主要需要做两步:
1、修改config => index.js => build => assetsPublicPath 中的'/'成为'./' (注意!很多同学直接在dev:{}里面的assetsPublicPath改成了true,结果本地运行的时候报错Cannot GET /,所以一定要注意找准确位置是在build:{}里面修改哟)
2、在build => util.js 里找到ExtractTextPlugin.extract,增加一行:publicPath: '../../'
然后npm run build打包出来的文件,就可以直接打开运行啦!也可以直接作为HTML静态页面扔进服务器
3、修改main.js文件的存放位置,把main.js挪到src/js/下面,找到build/webpack.base.conf.js
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/js/main.js'//修改这个路径即可
},
…
这样,就可以把main.js文件剪切到src/js/下面了
4、修改App.vue的路径,把它挪到src/vue/文件夹下面,打开刚刚第3步的main.js文件
import App from '../vue/App';//修改这个路径即可
new Vue({ el: '#app', render: h => h(App), router });
这样,就可以把App.vue文件剪切到src/vue/下面了