RT:使用vue-cli初始化的项目,webpack打包后,怎样部署到生产环境?使用nginx还是其他的?tomcat不行吧。
16 回复
正规一点就nginx,不然就塞到war里面扔tomcat去
来自炫酷的 NutzCN
@wendal 是直接把dist 和 index.html 打成war包,然后扔tomcat去吗?
@wendal 好的。 dist里面只有js和样式文件。入口文件是自己写吗? 我试试,谢谢!
@wendal 恩恩,可能是我打包时把他们分开了,我的index.html在外面。待会不行再麻烦您~
@wendal 请问一下,你们nutzWK 4.0 使用VUE的后台登录怎么实现的呢?
我这样写的,在dev环境可以,好像build之后就不行了。
router.beforeEach((transition) => {
transition.to.router.app.$Loading.start();
if (isLogin()) {
transition.next();
} else {
let redirect = encodeURIComponent(transition.to.path);
}
});
App.vue中的代码是:
<components :is="showView"></components>
*********************
components: {
'mana': Mana,
'login': Login,
Navbar,
Sidebar
}
@wendal 登录界面,登录成功后,跳转不到主界面,刷新后,还是停留在登录界面。
actions.js 如下:
export const localLogin = (store, userInfo) => {
api.localLogin(userInfo).then(response => {
var json = response.json();
if (json.code != 0) {
getCaptchaUrl(store);
return showMsg(store, json.msg || '登录失败')
}
const token = response.data.token;
saveCookie('token', token);
getUserInfo(store);
store.dispatch(types.LOGIN_SUCCESS, {token: token});
showMsg(store, '登录成功,欢迎光临!', 'success');
window.router.go({path: '/'});
window.location.reload();
}, response => {
getCaptchaUrl(store)
showMsg(store, response.data.error_msg || '登录失败')
})
}
@wendal 呃....就是不会啊~ 我在App.vue中还有这样的代码:
ready(){
if (isLogin()) {
this.showView = 'mana'
} else {
this.showView = 'login'
}
}
router.js 如下:
router.map({
'/': {
component: require('./components/PageHome.vue')
},
'/login': {
auth: false,
name: 'login',
component: require('./components/Login/index.vue')
}
});
@wendal 恩,好的。我再排查一下。谢谢~
var template = require('ejs!./index.ejs');
var data = {base: ''};
template(data);
老是报错,按文档来的啊。。。
https://github.com/ampedandwired/html-webpack-plugin
https://github.com/okonet/ejs-loader
添加回复
请先登陆