• [前端] VUE基础 (8) (vue-cli脚手架)


    一、安装vue-cli脚手架

    官方文档:https://cli.vuejs.org/zh/guide/cli-service.html

    Vue CLI 的包名称由 vue-cli改成了  @vue/cli 。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g或 yarn global remove vue-cli 卸载它。

    Vue CLI 需要Node.js 8.9 或更高版本 (推荐 8.11.0+)。使用命令检查版本:

    C:UsersAdministrator>node -v
    v12.15.0

    安装vue-cli:

    npm install -g @vue/cli
    # OR
    yarn global add @vue/cli
    C:UsersAdministrator>vue -V
    @vue/cli 4.2.2

    Vue CLI >= 3 和旧版使用了相同的 vue 命令,所以 Vue CLI 2 (vue-cli) 被覆盖了。如果你仍然需要使用旧版本的 vue init 功能,你可以全局安装一个桥接工具:

    npm install -g @vue/cli-init

    二、使用vue-cli(webpack-simple模板)

    1.使用vue init来创建vue项目

    使用vue-cli 2.x的方式创建项目:

    vue init webpack-simple my_project  # 这是vue-cli 2.x的方式,3.x不使用vue init

    这里需要根据提示来交互的输入相关的信息,例如确认项目名、作者等(是否使用sass,如果不会,则选择N)。

    这里使用webpack-simple模板,来和我们之前手工搭建的脚手架可以做下对比。

    vue-cli可以使用以下几种模板:

    webpack  --> 一个功能齐全的webpack+vue-loader设置,具有热重载,linting,测试和css提取功能
    webpack-simple --> 一个简单的webpack+vue-loader设置,用于快速原型设计
    browserify  --> 全功能Browserify,类似webpack
    browserify-simple  --> 类似webpack-simple
    pwa  --> 基于webpack模板的vue-cli的PWA模板
    simple  --> 最简单的vue设置,基本就只有一个vue.js

    我们主要使用webpack模板和webpack-simple模板。

    创建好项目后,进入项目目录:

    2.安装依赖

    在生成的项目目录中,我们看到有package.json配置文件:

    {
      "name": "my_project",
      "description": "A Vue.js project",
      "version": "1.0.0",
      "author": "leokale",
      "license": "MIT",
      "private": true,
      "scripts": {
        "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
        "build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
      },
      "dependencies": {
        "vue": "^2.5.11"
      },
      "browserslist": [
        "> 1%",
        "last 2 versions",
        "not ie <= 8"
      ],
      "devDependencies": {
        "babel-core": "^6.26.0",
        "babel-loader": "^7.1.2",
        "babel-preset-env": "^1.6.0",
        "babel-preset-stage-3": "^6.24.1",
        "cross-env": "^5.0.5",
        "css-loader": "^0.28.7",
        "file-loader": "^1.1.4",
        "vue-loader": "^13.0.5",
        "vue-template-compiler": "^2.4.4",
        "webpack": "^3.6.0",
        "webpack-dev-server": "^2.9.1"
      }
    }

    可以看到其中列出了很多devDependencies,但都还没有安装。

    我们执行命令来进行安装:

    (venv) D:pycharm_workspacevue_learnmy_project>cnpm install
    √ Installed 12 packages
    √ Linked 0 latest versions
    √ Run 0 scripts
    √ All packages installed (used 44ms(network 34ms), speed 0B/s, json 0(0B), tarball 0B)

    3.运行项目

    (venv) D:pycharm_workspacevue_learnmy_project>npm run dev
    
    > my_project@1.0.0 dev D:pycharm_workspacevue_learnmy_project
    > cross-env NODE_ENV=development webpack-dev-server --open --hot
    
    Project is running at http://localhost:8080/
    webpack output is served from /dist/
    404s will fallback to /index.html

    开发环境使用 npm run dev ,生产环境使用 npm run build 。

    这时,会在浏览器中自动打开localhost:8080页面:

    看到页面,表示vue-cli运行成功。

    4.惯用项目目录

    三、css中的scoped

    1.vue组件中的<style>

    当我们创建一个vue组件时,在'.vue'格式文件中是这样的:

    <template>
        
    </template>
    
    <script>
        export default {
            name: "test"
        }
    </script>
    
    <style>
    
    </style>

    在template中,我们写html代码。

    在script中我们写vue的js代码。

    在style中我们应该写css样式。

    但是当我们存在多个组件都有同一种标签,或者class名一致的样式,或者id一致的样式。这是会就互相影响。

    2.使用scoped隔离样式作用范围

    在<style>中加上scoped属性:

    <template>
        
    </template>
    
    <script>
        export default {
            name: "test"
        }
    </script>
    
    <style scoped>
    
    </style>

    这样,该<style>中的css样式,只对本组件的<template>中的标签起作用。使用了scoped属性的组件之间不会因为class、id名重复等情况发生样式冲突。

    四、新版vue-cli的使用

    vue-cli新版本的创建方式:

    vue create my_project

    创建好后,使用以下命令运行:

    npm run serve  # 开发环境
    npm run build  # 生产环境打包

    注意,新版vue-cli的配置方式与旧版本不同(旧版本直接在配置文件中配置),参考官方文档。

  • 相关阅读:
    REDELK的安装和使用
    Palo Alto GlobalProtect上的PreAuth RCE
    渗透 Facebook 的思路与发现
    抓取腾讯视频MP4文件
    JS中整数的取整、取余、向上取整
    centos7安装docker
    业界难题-“跨库分页”的四种方案(转)
    centos7设置时间
    简单实现Shiro单点登录(自定义Token令牌)
    nginx 反向代理时丢失端口的解决方案(转)
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/12295996.html
Copyright © 2020-2023  润新知