vue去除#號tomcat配置


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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM