1. 使用webpack创建Vue项目
最开始我是用vue ui
来创建一个Vue项目结构的,发现这样得到的目录结构和网上教程的结构不一样,没有config
文件夹,对于开发环境和生产环境的设置都不方便,于是使用webpack来创建Vue项目。
使用vue init webpack 项目名
指令来创建一个Vue项目。
就可以得到一个如下目录的Vue项目啦
执行npm run dev
在本地启动项目。
2. 修改项目名称
最开始新建项目的时候把项目名取错了😅(不是文件夹名称😭)。修改的话需要改package.json
和index.html
中的项目名,然后在项目根目录下执行cnpm i
重新安装依赖就🆗了。
3. 跨域问题
之前写过一篇博客记录了跨域的问题——解决Vue使用Api时的跨域问题。这样只能在开发环境中解决跨域问题,项目打包后是不起作用的。而且不在目前的项目结构中适用🎈。
3.1 开发环境
打开 config - index.js,将下面代码添加到proxyTable
中
1 | '/api': { |
3.2 生产环境
项目打包后,Vue-Cli就不起作用了,自然之前配置的代理也就无效了。一般解决生产环境跨域问题是使用nginx
配置代理,因为我这里没有部署到服务器上😐,所以采用生产环境将调用Api链接补全的方式解决这个问题(治标不治本😭)
在main.js
中设置一个全局函数
1 | Vue.prototype.getUrl = () => { |
调用Api时链接格式为this.getUrl() + '后续链接'
这样就可以根据当前环境拿到不同的链接了。
4. 项目打包
执行npm run build
将项目打包,打包后的文件在项目根目录下dist
文件内。
4.1 项目出现空白
启动打包后的项目发现浏览器中什么内容也没有😣。可以将 config - index.js 中build
下assetsPublicPath
的值改为./
,让它从打包后的当前路径下寻找资源,而不是根目录。
4.2 element-UI样式丢失
打包后发现使用的element-UI部分样式丢失,这同样也是路径的问题。打开 build - util.js, 添加如下代码
这里要使用element-UI还需要在
main.js
中引入对应的CSS样式import 'element-ui/lib/theme-chalk/index.css'
4.3 网站图标
把favicon.ico
放在项目根目录中,build
文件夹下的webpack.dev.conf.js
和webpack.prod.conf.js
都做如下修改即可