1.全局安装vue-cli

2.创建项目:

vue init webpack test

test是项目名称,会在当前工作目录下新建一个test文件夹

接下来会手动选择一些配置

除了Setup unit tests with Karma + Moch?和Setup e2e tests with Nightwatch两个测试选项选择no,其他都选择默认即可

3.执行init完毕后,会自动生成项目,安装vue项目必要和常见的loader,插件等

4.项目目录结构:

  • build 文件夹:用于存放 webpack 相关配置和脚本(默认情况下,webpack使用根目录下的webpack.config.js,但是其实可以使用任何目录下的任意名字的js配置文件,取决于package.json),package.json有这样的配置:
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js"
  "build": "node build/build.js"----build.js引用了webpack.prod.conf.js
  webpack.prod.conf.js和webpack.dev.conf.js都引用了webpack.base.conf.js,在webpack.base.conf.js配置的在prod和dev
  中都有效
 
  • config文件夹:用于配置一些webpack需要用到的参数,比如webpack配置文件夹中的输出目录:

 

  output: {
    path: config.build.assetsRoot,
        ......
  }

  assetsRoot在config下配置文件可以找到对应的值:

assetsRoot: path.resolve(__dirname, '../dist'),

输出目录配置在config上一层(工程根目录)下的dist文件夹下

  • src文件夹

  这个文件夹是整个项目最主要以及使用频率最高的文件夹。

  “assets”: 共用的样式、图片

  “components”: 业务代码存放的地方,里面分成一个个组件存放,一个页面是一个组件,一个页面里面还会包着很多组件

  “router”: 设置路由

  “App.vue”: vue文件入口界面

  “main.js:对应App.vue 创建vue实例,也是入口文件,对应webpack.base.config.js里的入口配置

也可以在里面增加新建目录和文件

  • static目录:

  静态资源目录,放在这个目录下的文件不经过loader直接可以使用,比如在static下新建img目录存放图片

使用的时候(没进过loader,当前路径是项目根目录):

  <img src="/static/img/logo2.png">

src/assets下面也可以存放图片,使用loader加载,引用的时候以当前vue文件为基准目录,比如在app.vue中:

  <img src="./assets/bg_student.png">

如果这两个图片文件都加载了,会在dist/static/img下放入这两张图片(assets下的图片大于limit限制才会放入,否则  

base64写入文件)

vue-cli搭建vue项目(单页面应用)的更多相关文章

  1. 使用@vue/cli搭建vue项目开发环境

    当前系统版本 mac OS 10.14.2 1.安装node.js开发环境 前端开发框架和环境都是需要 Node.js  vue的运行是要依赖于node的npm的管理工具来实现 <mac OS ...

  2. 利用脚手架vue cli搭建vue项目

    vue.js https://vuejs.org/ 基础: http://cn.vuejs.org/v2/guide/installation.html 1.安装需要利用npm包管理器,所以首先安装n ...

  3. vue cli创建typescript项目

    使用最新的Vue CLI @vue/cli创建typescript项目,使用vue -V查看当前的vue cli版本 安装命令 npm install -g @vue-cli 创建项目 vue cre ...

  4. Vue CLI及其vue.config.js(一)

    有时候我们为了快速搭建一个vue的完整系统,经常会用到vue-cli,vue-cli用起来很方便而且命令简单容易上手,但缺点是在构建的时候我感觉有一些慢,因为CLI 服务 (@vue/cli-serv ...

  5. [Vue CLI 3] vue inspect 的源码设计实现

    首先,请记住: 它在新版本的脚手架项目里面非常重要 它有什么用呢? inspect internal webpack config 能快速地在控制台看到对应生成的 webpack 配置对象. 首先它是 ...

  6. Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目

    前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...

  7. vue cli搭建项目及文件引入

    cli搭建方法:需安装nodejs先 1.npm install -g cnpm --registry=https://registry.npm.taobao.org //安装cnpm,用cnpm下载 ...

  8. webpack配合vue.js实现完整的单页面demo

    本篇文章主要是我在开发前研究了webpack+vue.js的单页面应用,因为需要用到node的npm,所以确保安装了node,建议官网安装最新的稳定版本.并且在项目中需要加载一些npm包,由于npm的 ...

  9. Vue环境搭建和项目创建

    目录 vue项目 环境搭建 项目创建 vue项目 环境搭建 node node ~~ python:node是用c++编写用来运行js代码的 npm(cnpm) ~~ pip:npm是一个终端应用商城 ...

  10. vue cli 3.x 项目部署到 github pages

    github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目. 最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下. ...

随机推荐

  1. gitbub 基本使用

    一.环境 git:https://git-scm.com/ 申请github账号:https://github.com/ 二.安装git 一直next即可 三.创储存建库 1.选择New reposi ...

  2. 异数OS TCP协议栈测试(五)--关于QOS与延迟

    . 异数OS TCP协议栈测试(五)–关于QOS与延迟 ##本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6524 ...

  3. [bzoj4873] [洛谷P3749] [Shoi2017] 寿司餐厅

    Description Kiana最近喜欢到一家非常美味的寿司餐厅用餐.每天晚上,这家餐厅都会按顺序提供n种寿司,第i种寿司有一个 代号ai和美味度di,i,不同种类的寿司有可能使用相同的代号.每种寿 ...

  4. python实现数据结构-栈

    注:本文档主要是学习<Python核心编程(第二版)>时的练习题. 栈是一种"后进先出"的数据结构(LIFO),是一种操作受限的线性结构,数据只能从栈顶进入和栈顶出去. ...

  5. 玩转Django2.0---Django笔记建站基础十(一)(常用的Web应用程序)

    第十章 常用的Web应用程序 Django为开发者提供了常见的Web应用程序,如会话控制.高速缓存.CSRF防护.消息提示和分页功能.内置的Web应用程序大大优化了网站性能,并且完善了安全防护机制,而 ...

  6. linux DNS 服务器 配置

    1:named.conf 2:正向区域配置文件 3:反向域名解析文件

  7. 夜晚 十点 React-Native 源码 暴力畜 系列

    百度 上 给的 关于 React-Native 的 排名 前三 继续 跟

  8. 【WPF学习】第二十一章 特殊容器

    内容控件不仅包括基本控件,如标签.按钮以及工具提示:它们还包含特殊容器,这些容器可用于构造用户界面中比较大的部分区域. 首先介绍ScrollViewer控件,该控件直接继承自ContentContro ...

  9. 什么是C/S结构,其和B/S有什么区别很联系呢

    什么是C/S结构,其和B/S有什么区别很联系呢 原地址:https://zhidao.baidu.com/question/12962713.html C/S结构即服务器/客户机结构.C/S结构通常采 ...

  10. 机器学习李航——Adaboost课本例题实现

    例8.1Adaboost的例子 注意求D3或者D4的时候只需要把w替换一下就行,记得还得改阈值.这个代码算个半自动的,因为还需要手动改一下. import numpy as np def getA(e ...