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

首先webpack关于vue以及各个包

  1. module.exports = {
  2. // entry: { //配置入口文件,有几个写几个
  3. // 'static/js/home/login': path.resolve(__dirname, './components/home/login.js')
  4. // },
  5. entry: './conponent/demo2/main.js',
  6. output: {
  7. path: './dest',
  8. publicPath: './dest/',这个在router是动态加载异步时候有用,head里面会插入一个asyc属性,没有这个会显示文件路径错误
  9. filename: '[name].js',
  10. chunkFilename:'test[id].js'//这个如果没有的话,那么那些asyc属性里的文件名字就是1.1,2.2等之类的命名。。。
  11. },
  12. module: {
  13.  
  14. loaders: [
  15. {
  16. test: /\.vue$/,
  17. loader: 'vue'
  18. },
  19. {
  20. test: /\.js$/,
  21. exclude: /node_modules/,
  22. loader: 'babel',
  23. query: {
  24. presets: ['es2015']
  25. }
  26. },
  27. {
  28. test: /\.less$/,
  29. loader: 'style!css!autoprefixer!less'
  30. },
  31. {
  32. test: /\.(html|tpl)$/,
  33. loader: 'html-loader'
  34. },
  35. {
  36. // edit this for additional asset file types
  37. test: /\.(png|jpg|gif)$/,
  38. loader: 'url',
  39. query: {
  40. limit: 10000,
  41. name: '[path][name].[ext]?[hash]'
  42. }
  43. }
  44. ]
  45. }
  46. };

  包文件:

  1. {
  2. "name": "paycenter",
  3. "version": "1.0.0",
  4. "description": "",
  5. "scripts": {
  6. "test": "echo \"Error: no test specified\" && exit 1"
  7. },
  8. "author": "lyz",
  9. "license": "ISC",
  10. "devDependencies": {
  11. "babel-core": "^6.9.0",
  12. "babel-loader": "^6.2.4",
  13. "babel-plugin-transform-runtime": "^6.9.0",
  14. "babel-preset-es2015": "^6.9.0",
  15. "babel-preset-stage-1": "^6.5.0",
  16. "babel-runtime": "^6.9.0",
  17. "css-loader": "^0.23.1",
  18. "extract-text-webpack-plugin": "^1.0.1",
  19. "style-loader": "^0.13.1",
  20. "vue-hot-reload-api": "^1.3.2",
  21. "vue-html-loader": "^1.2.2",
  22. "vue-loader": "^8.3.1",
  23. "vue-style-loader": "^1.0.0",
  24. "webpack": "^1.13.0"
  25. },
  26. "dependencies": {
  27. "vue": "^1.0.24",
  28. "vue-resource": "^0.7.0"
  29. }
  30. }

  

基本配置文件

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

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

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

  1. }
  2. }
  3. },
  4. component:resolve=>{
  5. require(['./demo/demo1.vue'],resolve)
  6. }
  7. },
  8. '/user':{
  9. name:'user',
  10. component:resolve=>{
  11. require(['./demo/demo2.vue'],resolve)
  12. }
  13. }
  14. })
  15. }

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

  1. <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就是说进来了不可离开
    }
    }
    }
  2.  
  3. </script>

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

从无到有之webpack+vuerouter的简单例子以及各个属性解释的更多相关文章

  1. webpack入门之简单例子跑起来

    webpack介绍 Webpack是当下最热门的前端资源模块化管理和打包工具,它可以将很多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源,还可以将按需加载的模块进行代码分割,等到实际需要的时 ...

  2. vue2.0+webpack+vuerouter+vuex+axios构建项目基础

    前言 本文讲解的是vue2.0+webpack+vuerouter+vuex+axios构建项目基础 步骤 1.全局安装webpack,命令 npm install webpack -g 注意,web ...

  3. webpack打包器简单入门

    概念 webpack是一个现代javascript应用程序的模块打包器. 当webpack处理你的应用程序时,它会递归构建一个依赖图(包含了你的应用程序所需要每个模块),然后把这些模块打包到少数几个b ...

  4. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  5. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

  6. spring mvc(注解)上传文件的简单例子

    spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方1.form的enctype=”multipart/form-data” 这个是上传文件必须的2.applicationConte ...

  7. ko 简单例子

    Knockout是在下面三个核心功能是建立起来的: 监控属性(Observables)和依赖跟踪(Dependency tracking) 声明式绑定(Declarative bindings) 模板 ...

  8. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  9. java socket编程开发简单例子 与 nio非阻塞通道

    基本socket编程 1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特 ...

随机推荐

  1. python3爬虫-通过requests获取拉钩职位信息

    import requests, json, time, tablib def send_ajax_request(data: dict): try: ajax_response = session. ...

  2. node里使用supervisor

    1.npm -g install supervisor(安装) 2.用cd命令定位到项目的根目录 3.supervisor bin/www

  3. 『ACM C++』 PTA 天梯赛练习集L1 | 025-026

    满课一天,做25的时候还疯狂WA,进度可以说是很慢了 哭泣 ------------------------------------------------L1-025---------------- ...

  4. centos 7 配置nginx 的yum源

    在/etc/yum.repos.d里创建nginx.repo文件: touch nginx.repo vim nginx.repo 填写如下内容后保存 [nginx] name=nginx repo ...

  5. lrzsz Linux服务器Windows互传文件工具

    lrzsz是一款在linux里可代替ftp上传和下载的程序,但只限于较小的文件,如果是目录需要打包成单个文件在实现下载. 条件:需要使用SecureCRT或者Xshell等客户端工具连接Linux 下 ...

  6. 使用PHP生成二维码支持自定义logo

    require_once 'phpqrcode/phpqrcode.php'; //引入类库 $text = "https://www.baidu.com/";//要生成二维码的文 ...

  7. 触摸屏之linux3.4.2安装tslib

    1. 写好触摸屏驱动后,安装tslib 1.1 tar xzf tslib-1.4.tar.gz 1.2 cd tslib 1.3 修改编译器版本号或者内核版本号,使它们一致.不然会出错,显示sele ...

  8. SVG中嵌入HTML元素

    <?xml version="1.0" standalone="yes"?> <style> .clsfont{ border:1px ...

  9. 201552-53 《Java程序设计》第五周问题汇总

    201552-53 <Java程序设计>第五周问题汇总 1.编译时,终端显示: 注:XXX.java使用了未经检查或不安全的操作,如何解决? 解答:并不是错误,可以忽视. 2.构造函数与类 ...

  10. 20155233 《Java程序设计》 第十三周课堂练习总结

    20155233 <Java程序设计>第十三周课堂练习总结 测试题目 测试1 在IDEA中对P145 MathTool.java 使用JUnit进行单元测试,测试用例不少于三个,要包含正常 ...