servlet中使用vue-router history模式&前端配置记录
2017-09-26 11:01
531 查看
目录结构
- dist // webpack打包后的文件夹 | - bundle.js - // ...woff,ttf,svg等 - static // 图片等资源文件夹 - WEB-INF - lib - web.xml - index.jsp // 主页
index.jsp
<%@page pageEncoding="utf-8" %> <html> <head> <title></title> <meta charset="UTF-8"> </head> <body> <!-- ... --> <script src="./dist/bundle.js"></script> </body> </html>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <error-page> <error-code>404</error-code> <location>/index.jsp</location> </error-page> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/dist/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/static/*</url-pattern> </servlet-mapping> </web-app>
踩坑/解决方案
资源使用/
开头
<script src="./di a8de st/bundle.js"></script>
./开始的路径以当前地址开始,当访问
127.0.0.1:8080/foo/bar时上面的路径就会指向
127.0.0.1:8080/foo/dist/bundle.js而找不到文件,其他资源同理
修改为
<script src="/dist/bundle.js"></script>
/开头路径固定以根目录为起点,即从
127.0.0.1/开始,这样在任何路径下都匹配到
127.0.0.1:8080/dist/bundle.js
前端配置
package.json{ "name": "shop", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "lint": "eslint **/*.js", "lint-html": "eslint **/*.js -f html -o ./reports/lint-results.html", "lint-fix": "eslint --fix **/*.js", "build": "webpack", "buildp": "webpack -p" }, "author": "", "license": "ISC", "dependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-env": "^1.6.0", "bootstrap": "^3.3.7", "css-loader": "^0.28.7", "eslint": "^4.7.1", "eslint-config-airbnb-base": "^12.0.0", "eslint-plugin-import": "^2.7.0", "file-loader": "^0.11.2", "jquery": "^1.12.4", "style-loader": "^0.18.2", "vue": "^2.4.4", "vue-loader": "^13.0.5", "vue-router": "^2.7.0", "vue-template-compiler": "^2.4.4", "webpack": "^3.6.0" } }
.eslintrc.json
{ "extends": "airbnb-base", "rules": { "no-console": "off" } }
.babelrc
{ "presets": ['env'] }
webpack.config.js
const path = require('path'); const webpack = require('webpack'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', publicPath: '/dist/', path: path.resolve(__dirname, '../web/dist'), }, module: { rules: [ { test: /\.css$/, use: [ 'style-loader', 'css-loader', ], }, { test: /\.(woff|woff2|eot|ttf|otf)$/, use: [ 'file-loader', ], }, { test: /\.svg$/, use: [ 'file-loader', ], }, { test: /\.vue$/, use: [ 'vue-loader', ], }, { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: ['env'] }, }, ], }, plugins: [ new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', }), ], resolve: { alias: { vue: 'vue/dist/vue.js', }, }, };
相关文章推荐
- vue-cli 打包 使用 history模式 的后端配置
- Servlet3.1使用@WebServlet注解配置问题记录
- vue-router history 模式 iis 配置
- vue-cli 打包使用history模式的后端配置实例
- vue-router history 模式 iis 配置
- 前端框架选型续 && 分享下使用 Backbone、Vue、Angular、React 的经验
- Servlet3.0中Servlet的使用(注解&&配置文件)
- Tomcat下前端使用vue-resource向后台servlet发送数据中文乱码
- Vue路由history模式踩坑记录:nginx配置解决404问题
- java web and vue.js 配合使用---servlet的配置
- Control Study->AdRotator广告控件显示自定义配置文件中广告以及与DataGrid控件结合使用显示图片(示例代码下载)
- Control Study->AdRotator广告控件显示自定义配置文件中广告以及与DataGrid控件结合使用显示图片(示例代码下载)
- 使用Servlet改变JSP引擎得工作模式
- Web项目中使用NLog记录日志,利用单件模式控制整个项目只有一个Logger对象的问题
- 回发或回调参数无效。在配置中使用或在页面中使用 <%@ Page EnableEventValidation="true" %
- Hadoop配置和使用问题记录
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 s
- tomcat 部署,配置 servlet 过程全记录。
- Struts中用<bean:size>和<bean:write>的使用,用于显示集合的总记录数
- SVN Serve 模式在XP下的配置记录