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. 测试工具Fiddler(一)—— 基础知识

    Fiddler基础知识 一.Fiddler是什么? Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点. ...

  2. msi通过powershell安装、卸载

    function install_msi($url) { $telemetry = @{ DisplayName = "Telemetry Service"; filename = ...

  3. Java电商支付系统实战(一)- 简介

    现如今,支付成为热点 对于电商业务,这都是不可或缺的 核心功能剖析 下单->支付 nginx 将用户请求反向代理到我们编写的电商系统 = 下单 之后,点击支付跳转到支付系统,最后对接 通过跳转将 ...

  4. Dart语言学习( 一) 为什么学习Dart?

    为什么学习Dart? Google及全球的其他开发者,使用 Dart 开发了一系列高质量. 关键的 iOS.Android 和 web 应用. Dart 非常适合移动和 web 应用的开发. 高效 D ...

  5. CTF-Keylead(ASIS CTF 2015)

    将keylead下载到本地用7-ZIP打开,发现主要文件 keylead~ 在ubuntu里跑起来,发现是个游戏,按回车后要摇出3,1,3,3,7就能获得flag. 拖进IDA 直接开启远程调试,跑起 ...

  6. 【javaWeb】HttpServletRequest常用获取URL的方法

    1.request.getRequestURL() 返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数. 2.request.getRequestURI( ...

  7. selenium获取页面源码,判断是否存在指定内容,执行不同的操作

    本案例用于解决selenium UI自动化,判断页面是否存在指定文字,执行后续不同的操作 主要用到browser.page_source 如,保存百度分享文件到自己的百度盘中,会出现文件被删除无法保存 ...

  8. <背包>solution_CF366C_Dima and Salad

    Dima and Salad Dima, Inna and Seryozha have gathered in a room. That's right, someone's got to go. T ...

  9. java工具类方法

    1.生成16位数字(当时日期时间加随机两位数) public static String getNo16() { String getNo = getNo(); return getNo.substr ...

  10. FPGA基础知识关键点摘要

    FPGA基础知识关键点摘要 一.组合逻辑和时序逻辑的区别:组合逻辑与输入直接实时相关,时序逻辑还必须在时钟上升沿出发后输出新值,有没有时钟输入是他们最大的区别!组合时序容易出现竞争冒险现象出现亚稳态, ...