[前端] 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的配置方式与旧版本不同(旧版本直接在配置文件中配置),参考官方文档。

原文地址:https://www.cnblogs.com/leokale-zz/p/12295996.html