在開發(fā)vue項目的過程中,我們經(jīng)常需要在tomcat上進(jìn)行部署和測試。tomcat是一個開源的Java Servlet容器,可以用來運行Java Web應(yīng)用程序。它是一個非常流行的Web服務(wù)器,也是Java EE的參考實現(xiàn)之一。
在啟動vue項目之前,我們需要先使用vue-cli搭建我們的項目。vue-cli是vue官方提供的腳手架工具,可以快速搭建vue項目的框架。在項目搭建完成之后,我們需要進(jìn)行一些配置來讓項目可以在tomcat上運行。
// 修改config/index.js文件 module.exports = { build: { // 靜態(tài)資源的路徑,可以設(shè)置為相對路徑或絕對路徑 assetsPublicPath: '/app/', ... }, ... };
我們需要修改config/index.js文件,將靜態(tài)資源的路徑設(shè)置為相對于tomcat的路徑。比如,如果我們在tomcat的webapps目錄下創(chuàng)建了一個名為vue-demo的文件夾,我們需要在assetsPublicPath屬性中將路徑設(shè)置為“/vue-demo/”。
// 修改build/webpack.base.conf.js文件 module.exports = { ... output: { // 打包生成的文件名 filename: 'js/[name].[chunkhash].js', // 打包生成的路徑 path: resolve('dist'), // 靜態(tài)資源的路徑 publicPath: '/app/', }, ... };
除了修改config/index.js文件,我們還需要修改build/webpack.base.conf.js文件。在output屬性中,我們需要將publicPath設(shè)置為與config/index.js文件中的assetsPublicPath屬性相同的值。這樣,在打包生成文件時,文件中引用的靜態(tài)資源路徑就會自動加上我們設(shè)置的路徑。
// 修改config/proxyTable.js文件 module.exports = { '/api': { target: 'http://localhost:8080', pathRewrite: { '^/api': '/mock' }, changeOrigin: true }, };
如果我們的項目中有接口請求,我們需要在config/proxyTable.js文件中進(jìn)行設(shè)置。這里我們將請求路徑以“/api”開頭的地址都代理到本地的8080端口,URL路徑重寫為“/mock”,并且需要添加changeOrigin屬性來保證請求頭中的Host字段的值為指向代理服務(wù)器的地址。
當(dāng)我們完成了以上的設(shè)置之后,我們就可以將我們的項目打包后部署到tomcat上進(jìn)行測試了。我們只需要將打包生成的文件夾復(fù)制到tomcat的webapps目錄下,然后啟動tomcat即可。在瀏覽器中訪問http://localhost:8080/vue-demo/,就可以看到我們的vue項目在tomcat上運行了。