Vue 项目的配置
在打包之前,先确定项目中
vue-router
的路由模式,文中的例子是基于history
模式进行的配置打包和部署。
vue.config.js
vue.config.js 下的配置:
// vue.config.js
module.exports = {
devServer: {
port: 8081
},
publicPath: '/',
assetsDir: 'static'
}
publicPath
:部署应用包时的基本 URL。
默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/。
assetsDir
:放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
因为还不知道Nginx怎么配置子目录页,这里 publicPath
设置为 /
。
router.js
new VueRouter({
mode: 'history',
routes
})
Vue-cil3 打包命令
到这里项目中的配置就完成了,打包项目。
npm run build
打包完,会看到项目文件夹中多了一个目录 dist
。
进去可以看到有三个东西:
- static
- favicon.ico
- index.html
直接双击 index.html
打开浏览器,页面是空白了,啥都没有。如果想根据路由打开指定页面,就需要部署到服务器了。
Nginx 部署
在 Vue Router 官网中就有 Nginx 配置的教程。 HTML5 History 模式
官网中有这么一段代码,接下来的配置会用到。
location / {
try_files $uri $uri/ /index.html;
}
正式开始
- 随便找个地方存放打包后的代码。例如:
/Users/xxx/Documents/project/vue
- 创建一个
hello
文件夹。 - 把刚才
dist
文件夹里面的东西拷贝过来。 - 命令行进入
nginx
的目录,我这里是/usr/local/etc/nginx
- 里面有一个配置文件
nginx.conf
,执行:vim nginx.conf
- 在合适的位置添加以下内容。
server {
listen 8081;
location / {
root /Users/xxx/Documents/project/vue/hello;
index index.html;
try_files $uri $uri/ /index.html;
}
}
其中 root
就是你存放打包后代码的位置。
- 执行命令
nginx
启动服务器。 - 输入
http://localhost:8081
,就能访问你的根目录啦!!
如果想部署Tomcat,可以看看这篇文章。Vue项目打包部署Tomcat