問題:項目過程中,需要微信分享得功能,但是簽名失原因出在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 ,添加內容如下:

至此,即可解決如上問題。
