使用vue脚手架搭建项目详解

野性酷女 2023-07-07 14:00 32阅读 0赞

安装vue脚手架

这里的版本是vue cli4

  1. cnpm i @vue/cli -g

查看vue cli版本

  1. vue --version

启动vue脚手架图形化界面

打开命令行,输入以下命令

  1. vue ui

通过vue脚手架图形化界面创建项目

选择项目目录

选择一个项目目录,点击在此创建新项目按钮
在这里插入图片描述

详情

填写项目名称,git初始化信息,点击下一步
在这里插入图片描述

预设

有提前准备好的预设就选择准备好的,没有就选择手动,点击下一步
在这里插入图片描述

功能

创建项目时,以下四个功能一般需要选择

  • Babel
  • Router
  • Linter/Formatter
  • 使用配置文件

vuex功能按照自身需求决定是否需要添加
点击下一步
在这里插入图片描述
在这里插入图片描述

配置

Pick a linter/formatter config选择标准配置ESLint + Standard config,点击创建项目

是否需要保留预设这个看你自己,需要的话给预设命名,保留,下一次直接使用即可
在这里插入图片描述

插件

选择插件,点击添加插件按钮
在这里插入图片描述

安装Element ui

搜索 vue-cli-plugin-element 安装
在这里插入图片描述
配置element ui-How do you want to import Element?

  • Fully import表示全量导入
  • Import on demand表示按需导入,可以减少打包后项目体积

不过我们后续一般会做项目优化,所以直接默认配置就可以了

点击完成安装
在这里插入图片描述

依赖

选择依赖,点击安装依赖
在这里插入图片描述

安装axios

选择运行依赖,搜索 axios
在这里插入图片描述

安装less,less-loader

选择开发依赖,搜索 less
在这里插入图片描述
选择开发依赖,搜索 less-loader
在这里插入图片描述

安装v-charts

Vue项目中使用v-charts

安装moment

Vue项目中使用moment.js

项目目录简介

在这里插入图片描述

配置项目启动自动打开浏览器和启动端口

每次启动项目时,都需要重新打开浏览器,解决办法就是添加一个配置文件,帮我们自动打开浏览器

在项目的根目录创建文件vue.config.js文件

  1. // 如果有报错,检查一下是不是空格问题导致的
  2. module.exports = {
  3. // 设置打包后输出的目录
  4. outputDir: '../static',
  5. // 设置打包后静态资源目录
  6. assetsDir: 'static',
  7. devServer: {
  8. // 设置自动打开浏览器
  9. open: true,
  10. // 端口号
  11. port: 9999
  12. }
  13. }

启动项目,在项目根目录下,执行以下命令

  1. npm run serve

处理eslint语法警告

在根目录下创建 .prettierrc 文件,eslint的配置文件,指定格式化的配置,实际文件中不要出现注释

  1. {
  2. // 指定格式化时,末尾不添加分号;
  3. "semi": false,
  4. // 指定使用单引号''
  5. "singleQuote": true,
  6. // 设置一行的宽度,一行字符超过指定宽度强制换行,默认80
  7. "printWidth": 200
  8. }

处理方法后面的括号需要一个空格问题,在根目录下.eslintrc.js文件中禁用space-before-function-paren

  1. module.exports = {
  2. root: true,
  3. env: {
  4. node: true
  5. },
  6. extends: [
  7. 'plugin:vue/essential',
  8. '@vue/standard'
  9. ],
  10. parserOptions: {
  11. parser: 'babel-eslint'
  12. },
  13. rules: {
  14. 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  15. 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  16. // 禁用方法后面的括号需要一个空格问题
  17. 'space-before-function-paren': 0
  18. }
  19. }

项目准备

删除不要的组件

  • 删除src目录下views目录
  • 删除src目录下compoents目录下的所有文件

修改APP.vue

  1. <template>
  2. <div id="app">
  3. <!-- 路由占位符 -->
  4. <router-view></router-view>
  5. </div>
  6. </template>
  7. <script>
  8. export default {
  9. name: 'app'
  10. }
  11. </script>
  12. <style>
  13. </style>

创建登录组件

在compoents目录下,新建Login.vue文件

  1. <template>
  2. <div>登录组件</div>
  3. </template>
  4. <script>
  5. export default { }
  6. </script>
  7. <style lang="less" scoped>
  8. </style>

设置路由

修改router目录下index.js文件

  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. // 导入登录组件
  4. import Login from '../components/Login.vue'
  5. Vue.use(VueRouter)
  6. const routes = [
  7. // 根路径重定向到登录
  8. {
  9. path: '/',
  10. redirect: '/login'
  11. },
  12. // 登录
  13. {
  14. path: '/login',
  15. component: Login
  16. }
  17. ]
  18. const router = new VueRouter({
  19. routes
  20. })
  21. export default router

启动项目

  1. npm run serve

页面显示登录组件即可
在这里插入图片描述

为不同模式指定环境变量

  1. 创建development模式的环境变量文件,项目根目录下新建.env.development文件

    NODE_ENV=development
    VUE_APP_BASE_URL=http://127.0.0.1:8080/

  2. 创建production模式的环境变量文件,项目根目录下新建.env.production文件

    NODE_ENV=production
    VUE_APP_BASE_URL=/

配置插件和依赖

配置axios

在项目src目录下,新建dependences目录,新建axios.js

  1. import Vue from 'vue'
  2. // 导入axios
  3. import axios from 'axios'
  4. // 设置请求根路径,依据模式,读取环境变量
  5. axios.defaults.baseURL = process.env.VUE_APP_BASE_URL
  6. // axios拦截器
  7. axios.interceptors.request.use(config => {
  8. // 在最后必须return config
  9. return config
  10. })
  11. axios.interceptors.response.use(config => {
  12. return config
  13. })
  14. // 挂载到vue
  15. Vue.prototype.$http = axios

在main.js中导入axios.js

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import './plugins/element.js'
  6. import './dependences/axios.js'
  7. Vue.config.productionTip = false
  8. new Vue({
  9. router,
  10. store,
  11. render: h => h(App)
  12. }).$mount('#app')

配置v-charts

在项目src目录,dependences目录,新建vcharts.js

  1. import Vue from 'vue'
  2. import VCharts from 'v-charts'
  3. Vue.use(VCharts)

在main.js中导入charts.js

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import './plugins/element.js'
  6. import './dependences/axios.js'
  7. import './dependences/vcharts.js'
  8. Vue.config.productionTip = false
  9. new Vue({
  10. router,
  11. store,
  12. render: h => h(App)
  13. }).$mount('#app')

配置moment

在项目src目录,dependences目录,新建moment.js

  1. import Vue from 'vue'
  2. import moment from 'moment'
  3. // 设置本地时区
  4. moment.locale('zh-cn')
  5. Vue.prototype.$moment = moment

在main.js中导入moment.js

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import './plugins/element.js'
  6. import './dependences/axios.js'
  7. import './dependences/vcharts.js'
  8. import './dependences/moment.js'
  9. Vue.config.productionTip = false
  10. new Vue({
  11. router,
  12. store,
  13. render: h => h(App)
  14. }).$mount('#app')

发表评论

表情:
评论列表 (有 0 条评论,32人围观)

还没有评论,来说两句吧...

相关阅读

    相关 第一个Vue脚手架项目

    ①安装node运行环境 我这里node环境是已经安装完毕了,具体安装的步骤就不演示了,需要注意的是版本 不能太低,否则版本过低会出现问题。 ![在这里插入图片描述]