实验步骤如下:

cnpm install vue-cli
vue init webpack vuecliTest(名字改成vueclitest,不能包涵大寫字母,其餘一路回車即可)
执行的npm run build命令就相对执行的 node build/build.js
运行npm run dev 就相当于执行了node build/dev-server.js

dev-server.js

/ 检查 Node 和 npm 版本
require('./check-versions')()// 获取 config/index.js 的默认配置
var config = require('../config')// 如果 Node 的环境无法判断当前是 dev / product 环境
// 使用 config.dev.env.NODE_ENV 作为当前的环境if (!process.env.NODE_ENV) process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)// 使用 NodeJS 自带的文件路径工具
var path = require('path')// 使用 express
var express = require('express')// 使用 webpack
var webpack = require('webpack')// 一个可以强制打开浏览器并跳转到指定 url 的插件
var opn = require('opn')// 使用 proxyTable
var proxyMiddleware = require('http-proxy-middleware')// 使用 dev 环境的 webpack 配置
var webpackConfig = require('./webpack.dev.conf')// default port where dev server listens for incoming traffic// 如果没有指定运行端口,使用 config.dev.port 作为运行端口
var port = process.env.PORT || config.dev.port// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware// 使用 config.dev.proxyTable 的配置作为 proxyTable 的代理配置
var proxyTable = config.dev.proxyTable// 使用 express 启动一个服务
var app = express()// 启动 webpack 进行编译
var compiler = webpack(webpackConfig)// 启动 webpack-dev-middleware,将 编译后的文件暂存到内存中
var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
stats: {
colors: true,
chunks: false
}
})// 启动 webpack-hot-middleware,也就是我们常说的 Hot-reload
var hotMiddleware = require('webpack-hot-middleware')(compiler)
// force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
hotMiddleware.publish({ action: 'reload' })
cb()
})
})// proxy api requests
// 将 proxyTable 中的请求配置挂在到启动的 express 服务上
Object.keys(proxyTable).forEach(function (context) {
var options = proxyTable[context]
if (typeof options === 'string') {
options = { target: options }
}
app.use(proxyMiddleware(context, options))
})// handle fallback for HTML5 history API
// 使用 connect-history-api-fallback 匹配资源,如果不匹配就可以重定向到指定地址
app.use(require('connect-history-api-fallback')())// serve webpack bundle output
// 将暂存到内存中的 webpack 编译后的文件挂在到 express 服务上
app.use(devMiddleware)// enable hot-reload and state-preserving
// compilation error display
// 将 Hot-reload 挂在到 express 服务上
app.use(hotMiddleware)// serve pure static assets
// 拼接 static 文件夹的静态资源路径
var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)
// 为静态资源提供响应服务
app.use(staticPath, express.static('./static'))// 让我们这个 express 服务监听 port 的请求,并且将此服务作为 dev-server.js 的接口暴露
module.exports = app.listen(port, function (err) {
if (err) {
console.log(err)
return
}
var uri = 'http://localhost:' + port
console.log('Listening at ' + uri + '\n')// when env is testing, don't need open it
// 如果不是测试环境,自动打开浏览器并跳到我们的开发地址
if (process.env.NODE_ENV !== 'testing') {
opn(uri)
}
})

app.vue文件我们可以分成三部分解读,

<template></template>标签包裹的内容:这是模板的HTMLDom结构,里边引入了一张图片和<router-view></router-view>标签,

<router-view>标签说明使用了路由机制。我们会在以后专门拿出一篇文章讲Vue-router。

<script></script>标签包括的js内容:你可以在这里些一些页面的动态效果和Vue的逻辑代码。

<style></style>标签包裹的css内容:这里就是你平时写的CSS样式,对页面样子进行装饰用的,需要特别说明的是你可以用<style scoped></style>来声明这些css样式只在本模板中起作用。

大部分的工作都是写这些.vue结尾的文件

vue-cli的初步使用相关推荐

  1. 初步创建vue/cli工程教程

    首先第一步创建vuecli工程,创建vuecli工程需要用nodejs+npm下载环境就行,这个工程非常的庞大,教程走一波! ·····先去vue官网找到下载vue/cli的命令-----官网地址:v ...

  2. vue全家桶初步了解

    vue全家桶初步了解 1.Vue-cli Vue-cli是vue官方出品的快速构建单页应用的脚手架,这里牵扯的东西很多,有webpack,npm,nodejs,babel等等. 1.1.安装vue-c ...

  3. cli vue 卸载,vue Cli 环境删除与重装教程 - 版本文档

    vue-cli 卸载,版本选择,安装 · 检测(图文教程:vue Cli 环境删除与重装) 重要说明: vue-cli 3.0+版本,使用的不是vue-cli,而是@vue/cli: 如果用以上的安装 ...

  4. [Vue CLI 3] 插件编写实战和源码分析

    当你看过了官方的几个插件之后,慢慢地,其实你也有需求了. 那如何编写一个 Vue CLI 3 的插件呢? 本文代码已经放到 github 上,地址:https://github.com/dailyno ...

  5. vue连线 插件_【Vue CLI】手把手教你撸插件

    现如今 Vue 作为主流的前端框架之一,其健全的配套工具,活跃的开源社区,让广发码农热衷追捧.Vue CLI 作为其官方的开发构建工具,目前已更新迭代到 4.x 版本,其内部集成了日常开发用到的打包压 ...

  6. vuecli启动的服务器位置,webpack – 在vue cli 3生成的项目中启动dev服务器

    我使用npm i -g @ vue / cli在我的 Windows系统上全局安装了vue cli 3. 然后我使用vue create vue-project生成了一个项目 我通过提示选择了所需的插 ...

  7. vue项目通过命令行传参实现多环境配置(基于@vue/cli)

    大多数项目都有生产环境和开发环境,一般情况下应该够了,但是有时候还需要sit,uat,本地等环境,这时候假如要通过注释的方式切换环境就相当麻烦了. 如果可以像下面这样切换环境就方便了 npm run ...

  8. VSCode 搭建Vue开发环境之Vue CLI

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介说明 1.关于VS Code开发工具,安装和配置,更多可以参考以前文章 2.关于Vue.js,Vue是一个优秀的渐进式 ...

  9. 基于vue cli 3.0创建前端项目并安装cube-ui

    前提条件: 安装node.js. 国内的开发者最好先配置淘宝镜像. 之后用cnpm来代替npm命令. 项目创建过程: 打开cmd,输入命令进入目标工作空间,以本机项目为例: cd /d d: cd D ...

  10. vue搜不到c_vue不是内部命令、安装@vue/cli失败、找不到vue.cmd文件等问题的解决方法...

    最近打算用vue-cli写项目,发现用官网提供的安装方式npm install @vue/cli -g怎么都安装不上,一直报如下错误 EPERM: operation not permitted, r ...

最新文章

  1. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令
  2. 如何用 Nacos 构建服务网格生态
  3. 在HTML中,如何设置新窗口打开和在原窗口打开
  4. 自定义EventSource(一)EventCounter
  5. InterruptedException和中断线程的说明
  6. 为爱追寻_从机械师到编码员:追寻梦想如何改变了我的生活
  7. java 多线程生产者_java-Runnable加锁实现生产者和消费者的多线程问题
  8. 英特尔首推异构编程神器 oneAPI,可让程序员少加班!
  9. windows运行xcopy计划任务 结果是0x4解决方案
  10. 《linux核心应用命令速查》连载十:ps:查看权限
  11. yolov5s 目标检测模型实战——火点烟雾检测实战
  12. js如何实现扫描身份证识别_JavaScript实现身份证验证代码
  13. 保护眼睛——设置WIN7和XP 窗体、Chrome、IE网页背景颜色(zz)
  14. 淡泊明志,宁静致远。「学会做人的涵养」 - Qzone日志
  15. Log Parser Lizard 日志分析工具
  16. Thunderbolt3 方案介绍及应用案例介绍
  17. 关系抽取调研-工业界
  18. xss基本概念和原理介绍
  19. 结构体构造和析构函数
  20. Scrapy爬取斗破苍穹漫画

热门文章

  1. 人造卫星为什么会绕着地球转而不是停在太空中或者越飞越远.掉进地球的卫星为什么烧不完....
  2. HRBUST 1909——理工门外的树——————【离线处理,差分前缀和】
  3. Android存储Json到本地,和读取本地Json
  4. iOS Xcode4.2代码管理工具的使用
  5. 开发高性能的ADO.NET应用
  6. CG-CTF-Web-这题不是WEB
  7. java poi excel 单元格样式_java poi批量导出excel 设置单元格样式
  8. CSS绘制放大缩小关闭按钮
  9. RabbitMQ入门(三)-Publish/Subscribe(发布/订阅)
  10. JavaScript数据结构与算法——栈详解