問題:項目過程中,需要微信分享得功能,但是簽名失原因出在vue原始帶得#號,所以把#去掉,下面配置(這里只是tomcat):
范例:vue-cli項目使用路由,tomcat作為服務器,項目文件夾名myvue
1.npm run build 打包生成的build文件夾中內容拷貝到myvue文件夾如下圖:
2.myvue文件夾下新建WEB-INF/web.xml 其中添加404錯誤跳轉路徑如下圖:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee/web-app_2_5.xsd" id="scplatform" version="2.5"> <display-name>/</display-name> <error-page> <error-code>404</error-code> <location>/index.html</location> </error-page> </web-app>
3.vue-cli項目config/index.js 配置assetsPublicPath:'/myvue/' 項目包名稱
4.vue-cli項目src/router/index.js 配置mode:'history',base:'/myvue/'
以上vue-cli配置與tomcat部署都ok后,啟動tomcat服務器,訪問路徑項目名myvue,ok可以正確訪問了,這里后面不要加index.html,
擴展一下,是不是每次大包項目都要手動添加WEB-INF/web.xml呢。答案不是的,解決方案如下:
1、我的打包配置
new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.build.assetsSubDirectory, ignore: ['.*'] }, { from: path.resolve(__dirname, '../WEB-INF'), to: 'WEB-INF', ignore: ['.*'] } ])
在項目中添加與static文件夾同級別的WEB-INF文件,如下:
文件名為:webpack.prod.conf.js ,添加內容如下:
至此,即可解決如上問題。