vue-router改为history模式

打包好后本地测试运行是否正常
环境搭建:

这个时候需要利用node中的express,方法如下:
安装express: npm install -g express;
最新express4.0版本中将命令工具分家出来了,还需要安装一个命令工具: npm install -g express-generator;
创建一个express工程: express helloworld;
进入项目主目录: cd helloworld;
安装必备包: npm install;
启动程序: npm start;
把打包后的dist文件夹放在public文件夹里,访问http://localhost:3000/dist就能看到项目了,这样测试好了后,就可以丢后台了

存在问题: 提示css文件和mainfest.js文件404,且提示webpack.jsonp is undefined(这个错误是由于mainfest.js文件404导致,因为app.js和其他的js文件用到了webpack.jsonp,但是他是在mainfest中定义的)
解决404问题: 在config文件夹中的index.js中设置一个路径问题,不然也会报错,在js中找到build:{assetsPublicPath: './'},默认路径是'/',需要加上'.'

相关参考链接: https://www.jb51.net/article/...

https://blog.csdn.net/GossipHHH/article/details/78749308

route使用history模式,去掉链接里的#号
踩过的坑:

1.

vue-router改为history模式

这样配置
这里assetsPublicPsth写成‘./’(是在当前目录下去找静态文件),导致刷新页面或者直接访问页面localhost:3000/versionflow/mychange的时候提示资源文件404

vue-router改为history模式

**原因: ./ 代表的是去当前目录下找静态文件,所以程序会在public/versionflow下去找静态文件,但是并没有versionflow这个文件夹,所以会提示404(根目录为public)**


2.

vue-router改为history模式

这样配置,直接访问就提示找不到静态资源404,

vue-router改为history模式

算了不写了,千坑万坑都是自己亲手挖的

正确写法

vue-router改为history模式

assetsSubDirectory设置的文件需要能够在根目录(需要在哪个目录下找是根据assetsPublicPath的设置决定的)下找到
地基没有打牢,重新打一下地基

=========================================转载
首先要说的是 ./ ../ /
/ 取根目录:
file:///
./ 取当前目录:
file:///Users/xxx/Documents/projects/outsourcing/youreact/dist/
../ 取当前目录的上一层目录:
file:///Users/xxx/Documents/projects/outsourcing/youreact/

assetsRoot:构建输出目录 也就是构建后的东西都扔这里
assetsSubDirectory:资源子目录 除了index.html,其余的js img css都分在这里
assetsPublicPath:项目目录 一个杠杠 啥意思呢,是根目录的意思

作者:懒先森
链接:https://www.jianshu.com/p/947...
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关推荐