模仿搭建vue-cli
其实vue-cli本身就挺好用的,但是毕竟自己亲手搭的还是比较灵活,出了问题也方便解决,所以我们自己动手搭建一个脚手架
主要用到的工具
- webpack
- webpack-cli
package.json配置如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39{
"name": "book",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "cross-env NODE_ENV=development webpack-dev-server",
"build": "cross-env NODE_ENV=production webpack"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-es2015": "^6.24.1",
"config": "^3.0.1",
"cross-env": "^5.2.0",
"css-loader": "^2.1.0",
"file-loader": "^3.0.1",
"gulp": "^4.0.0",
"html-webpack-plugin": "^3.2.0",
"os": "^0.1.1",
"style-loader": "^0.23.1",
"url-loader": "^1.1.2",
"vue": "^2.6.6",
"vue-loader": "^15.6.2",
"vue-router": "^3.0.2",
"vue-template-compiler": "^2.6.6",
"webpack": "^4.29.3",
"webpack-cli": "^3.2.3",
"webpack-dev-server": "^3.1.14"
},
"dependencies": {
"axios": "^0.18.0",
"element-ui": "^2.5.4",
"qs": "^6.6.0"
}
}
webpack.config.js内容如下
1 | const webpack = require('webpack'); |
然后是自己封装的axios请求
1 | /**axios封装 |
- 初步搭建完成,可以使用了
- 如果有问题,后续补充
使用了vue-router后页面地址栏路径改变后刷新页面报错
这个主要时由于设置了vue-router为history模式,找不到路由下面的index.html页面,解决方式为配置nginx服务器的try_files,
本地解决方式为配置webpack-dev-server,增加 -history-api-fallback
使用vue-router以后地址栏改变找不到静态资源
配置webpack>output>publicPath:’/‘