Vue2+VueRouter2+webpack 构建项目

简介: 1). 安装Node环境和npm包管理工具检测版本node -v npm -v图1.png2). 安装vue-cli(vue脚手架)npm install -g vue-cli --registry=https://registry.
1). 安装Node环境和npm包管理工具
  • 检测版本
node -v 
npm -v
AI 代码解读
img_6759383acf05dec901172da54b41bd8a.png
图1.png
2). 安装vue-cli(vue脚手架)
npm install -g vue-cli --registry=https://registry.npm.taob
ao.org
AI 代码解读
img_55aa5d733f735d03ef6e686ceb4b2a38.png
图2.png
3). 新建工程
# 在线创建
vue init webpack logistics-vue
# 离线创建:下载https://github.com/vuejs-templates/webpack,解压到C:\Users\mazaiting\.vue-templates\webpack
vue init webpack logistics-vue --offline
AI 代码解读

若无法登陆到Github方法,可在此处下载

img_2dac40b14ecc4414fa73aa5bc9fbde39.png
图3.png

4). 进入工程目录
cd logistics-vue
AI 代码解读
  • 目录结构


    img_9b0d21c2cb7304fbab8dfbb85ad62314.png
    图4.png
5). 修改package.json文件

删除这一行"chromedriver": "^2.27.2",

6). 安装依赖包
npm install
AI 代码解读
img_6ed001de7d962a772b29a8e8951d3871.png
图5.png
7). 运行
npm run dev
AI 代码解读
img_0e29eed72c72d42d64a8de3606313a38.png
图6.png

执行命令之后, 在浏览器中打开链接http://localhost:8080

img_9d7a8df0356f8692e91a1abf83a8552b.png
图7.png

8). 工程目录详解
img_5b2261ab700e4d6df3e8c1388e22a1d7.png
图8.png
  • build: 此文件夹下存放编译生成的文件
  • config: 配置文件夹,dev.env.js、prod.env.js、test.env.js分别是开发,生产,测试环境下的配置文件
  • node_modules: 依赖库
  • src: 源代码及资源存放路径,assets中存放资源文件,components中存放组件,router存放路由相关文件,App.vue是入口文件,main.js是项目的核心文件。全局的配置都在这个文件里面配置。
  • static: 未知。
  • test: 测试文件夹
9). 自定义页面

I. 在src目录下新建pages文件夹,并新建FirstPage.vue和SecondPage.vue文件
FirstPage.vue

<template>
  <div class="container">
    firstPage
  </div>
</template>

<script>
  /* eslint-disable quotes */
  export default {
    name: "first-page"
  }
</script>

<style scoped>
  .container {
    color: black;
  }
</style>
AI 代码解读

SecondPage.vue

<template>
  <div class="container">
    Second Page
  </div>
</template>

<script>
/* eslint-disable quotes */
  export default {
        name: "second-page"
    }
</script>

<style scoped>
.container {
  color: blue;
}
</style>
AI 代码解读

II. 在router下新建router.js文件,并配置路由
router.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from './../components/HelloWorld'
import FirstPage from './../pages/FirstPage'
import SecondPage from './../pages/SecondPage'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
    {
      path: '/FirstPage',
      name: 'FirstPage',
      component: FirstPage
    },
    {
      path: '/SecondPage',
      name: 'SecondPage',
      component: SecondPage
    }
  ]
})
AI 代码解读

III. 修改main.js,使其引用router.js文件

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
// 屏蔽router路径下的index.js文件
// import router from './router'
import router from './router/router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})
AI 代码解读

IV. 修改HelloWorld.vue文件

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>Essential Links</h2>
    <div class="nav-list">
      <router-link class="nav-item" to="/">index</router-link>
      <router-link class="nav-item" to="/FirstPage">页面一</router-link>
      <router-link class="nav-item" to="/SecondPage">页面二</router-link>
    </div>
    <ul>
      <li>12312313213</li>
    </ul>
  </div>
</template>

<script>

  export default {
    name: 'HelloWorld',
    data() {
      return {
        msg: 'Welcome to Your Vue.js App'
      }
    }
  }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
  h1, h2 {
    font-weight: normal;
  }

  ul {
    list-style-type: none;
    padding: 0;
  }

  li {
    display: inline-block;
    margin: 0 10px;
  }

  a {
    color: #42b983;
  }
</style>
AI 代码解读

V. 运行npm run dev

img_bb34b8d98fa68e31f27edd2bfda9a1ff.gif
图9.gif

10). 代码下载
目录
打赏
0
0
0
0
69
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
120 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
3月前
|
vue使用iconfont图标
vue使用iconfont图标
177 1
极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图
本文介绍了使用 Vue Flow 绘制流程图的方法与技巧。Vue Flow 是一个灵活强大的工具,适合自定义复杂的流程图。文章从环境要求(Node.js v20+ 和 Vue 3.3+)、基础入门案例、自定义功能(节点与连线的定制、事件处理)到实际案例全面解析其用法。重点强调了 Vue Flow 的高度灵活性,虽然预定义内容较少,但提供了丰富的 API 支持深度定制。同时,文中还分享了关于句柄(handles)的使用方法,以及如何解决官网复杂案例无法运行的问题。最后通过对比 mermaid,总结 Vue Flow 更适合需要高度自定义和复杂需求的场景,并附带多个相关技术博客链接供进一步学习。
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
150 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
108 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
107 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
114 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等