之前一直没玩过webpack和vue,近两周才看这玩意,本文纯属自己的实验+之前angular作战经验的理解一些入门文章

首先webpack关于vue以及各个包

module.exports = {
// entry: { //配置入口文件,有几个写几个
// 'static/js/home/login': path.resolve(__dirname, './components/home/login.js')
// },
entry: './conponent/demo2/main.js',
output: {
path: './dest',
publicPath: './dest/',这个在router是动态加载异步时候有用,head里面会插入一个asyc属性,没有这个会显示文件路径错误
filename: '[name].js',
chunkFilename:'test[id].js'//这个如果没有的话,那么那些asyc属性里的文件名字就是1.1,2.2等之类的命名。。。
},
module: { loaders: [
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015']
}
},
{
test: /\.less$/,
loader: 'style!css!autoprefixer!less'
},
{
test: /\.(html|tpl)$/,
loader: 'html-loader'
},
{
// edit this for additional asset file types
test: /\.(png|jpg|gif)$/,
loader: 'url',
query: {
limit: 10000,
name: '[path][name].[ext]?[hash]'
}
}
]
}
};

  包文件:

{
"name": "paycenter",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "lyz",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.9.0",
"babel-loader": "^6.2.4",
"babel-plugin-transform-runtime": "^6.9.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-stage-1": "^6.5.0",
"babel-runtime": "^6.9.0",
"css-loader": "^0.23.1",
"extract-text-webpack-plugin": "^1.0.1",
"style-loader": "^0.13.1",
"vue-hot-reload-api": "^1.3.2",
"vue-html-loader": "^1.2.2",
"vue-loader": "^8.3.1",
"vue-style-loader": "^1.0.0",
"webpack": "^1.13.0"
},
"dependencies": {
"vue": "^1.0.24",
"vue-resource": "^0.7.0"
}
}

  

基本配置文件

然后新建一个路由配置文件:routerconfig.js

里面是路由的配置(demo所以就只写两个路由)

export default function routerconfig(router){    router.map({
'/home':{
subRoutes:{
'/bar':{
component:resolve=>{
require(['./demo/demo3.vue'],resolve)//这个resolve会在你html上的main文件里面自动生成一个asyc属性,属性值就是对应js的文件位置,
里面会异步按需加载对应的那个组件的js文件,所以webpack的配置文件里的publicpath和chunckfilname很重要

}
} },
component:resolve=>{
require(['./demo/demo1.vue'],resolve)
}
},
'/user':{
name:'user',
component:resolve=>{
require(['./demo/demo2.vue'],resolve)
}
}
})
}

然后看下demo1.vue文件的引用和ng的ui-router是一样的

<template>
<p v-link="{path:'home/bar'}">demo1</p>
<router-view></router-view>
</template>
<script>
export default {
route: {
activate: function (transition) {
console.log('进入!')//这里在每次进入该组件会触发
transition.next()//这里如果写abort就是说这个路由下的组件的大门被关闭了,不可切换进来
},
deactivate: function (transition) {
console.log('离开')//这里在每次离开改组件会触发
transition.next()//同理这里abort就是说进来了不可离开
}
}
} </script>

这个时候运行webpack一个潜逃路由就有了

最新文章

  1. 虚拟机下Centos7如何设置静态IP地址
  2. LINQ for XML简单示例
  3. HTML5 Canvas绘文本动画(使用CSS自定义字体)
  4. 自定义datagridview列,却提示DataGridView 控件中至少有一列没有单元格模板
  5. Python快速上手JSON指南
  6. 通过反射获取SSM的controller层的注解以及注解中的value值
  7. 【CodeForces 596A】E - 特别水的题5-Wilbur and Swimming Pool
  8. jquery下ie的margin-left ----bug 以及parseInt方法bug
  9. Javascript performance
  10. C# 多线程传参 三种实例
  11. ↗☻【HTML5秘籍 #BOOK#】第8章 使用CSS3
  12. Django中的Ajax
  13. 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)
  14. 少侠学代码系列(二)-&gt;JS实现
  15. iOS 内购讲解
  16. 0913_Python初识及变量
  17. 特来电CMDB应用实践
  18. Java通过Shell执行Sqoop命令没日志的问题
  19. 【转】Java策略消除if else
  20. win10 切换网卡的bat

热门文章

  1. mysql 5.7设置密码无效
  2. SSM(SpringMVC+Spring+Mybatis)框架学习理解
  3. svg图标(svg实现的QQ图标)
  4. html5手机浏览器启动微信客户端支付实例
  5. Error evaluating expression &#39;&#39;xxx&#39;&#39;. Cause: org.apache.ibatis.ognl.NoSuchPropertyException:
  6. Spring框架中用到的设计模式(转)
  7. Hadoop分布式集群搭建_1
  8. C语言——第一章,程序设计和C语言
  9. Synchronized关键字与多线程
  10. GC错误