vue-cli4脚手架搭建一
涉及内容
html css javascript node.js npm webpack
2.9.6是常用版本
vue-cli4是基于webpack的
webpack是基于node.js的
npm:node package manager,是nodejs的包管理器,通常使用淘宝镜像;这是npmjs.org的一个镜像,由于在国内,网速相对国外快。该镜像每十分钟与官方同步一次。
下载nodejs并安装或者yum/apt-get安装
https://cdn.npm.taobao.org/dist/node/v14.4.0/node-v14.4.0-linux-x64.tar.xz
tar -xvf node-v14.4.0-linux-x64.tar.xz
sudo apt-get install nodejs sudo apt-get install npm sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
$ cnpm -v
cnpm@6.1.1 (/usr/local/lib/node_modules/cnpm/lib/parse_argv.js)
npm@6.14.5 (/usr/local/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
node@10.19.0 (/usr/bin/node)
npminstall@3.27.0 (/usr/local/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/usr/local
linux x64 5.4.0-39-generic
registry=https://r.npm.taobao.org
yarn是facebook公司用于替代npm的一个包管理器
sudo npm i yarn -g -verbose
sudo yarn config set registry https://registry.npm.taobao.org
$ yarn -v
1.22.4
安装vue-cli 3或4版本说明
本地安装会安装到当前目录
cnpm install @vue/cli
$ ls
node_modules
vue-cli 2版本的安装方式
npm install -g vue-cli
安装指定版本
2版本:cnpm install -g vue-cli@版本号
3及以上版本:cnpm install -g @vue/cli@版本号
正式安装
sudo cnpm install -g @vue/cli
安装vue-cli模块到/usr/local/lib/node_modules,并创建下面的链接(下面的链接是自动创建的,无须再重复创建),于是可以全局使用vue
[@vue/cli@4.4.6] link /usr/local/bin/vue@ -> /usr/local/lib/node_modules/@vue/cli/bin/vue.js
$ vue -V
@vue/cli 4.4.6
创建项目
Babel转码器,把EC6/7代码转换为浏览器可以识别的编码
至少需要安装Babel和Router
vue create vue2
Vue CLI v4.4.6
? Please pick a preset: Manually select features
? Check the features needed for your project:
◉ Babel
◯ TypeScript
◯ Progressive Web App (PWA) Support
❯◉ Router
◯ Vuex
◯ CSS Pre-processors
◯ Linter / Formatter
◯ Unit Testing
◯ E2E Testing
上下键移动光标,空格键选择或取消,回车键下一步
Vue CLI v4.4.6
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, Router
路由模式分为历史模式和hash模式两种,hash模式url中有#号,history没有但需要代码中配置,2版本3版本为hash模式
? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) n
配置是放在package中还是指定的配置文件里,按默认走
? Where do you prefer placing config for Babel, ESLint, etc.?
❯ In dedicated config files
In package.json
以后的模块是否按当前的模式搭建
? Save this as a preset for future projects? (y/N) N
Successfully created project vue2.
Get started with the following commands: $ cd vue2
$ yarn serve WARN Skipped git commit due to missing username and email in git config.
You will need to perform the initial commit yourself.
启动
$ cd vue2
$ yarn serve
yarn run v1.22.4
$ vue-cli-service serve
INFO Starting development server...
98% after emitting CopyPlugin DONE Compiled successfully in 2084ms 5:26:11 PM App running at:
- Local: http://localhost:8080/
- Network: http://192.168.43.157:8080/ Note that the development build is not optimized.
To create a production build, run yarn build.
2版本的启动方式,进入项目目录,npm run dev
项目文件:
$ ll
total 384
drwxrwxr-x 6 tanpengfei3 tanpengfei3 4096 6月 27 17:25 ./
drwxrwxr-x 4 tanpengfei3 tanpengfei3 4096 6月 27 17:24 ../
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 73 6月 27 17:25 babel.config.js
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 30 6月 27 17:25 .browserslistrc
drwxrwxr-x 7 tanpengfei3 tanpengfei3 4096 6月 27 17:25 .git/
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 230 6月 27 17:25 .gitignore
drwxrwxr-x 758 tanpengfei3 tanpengfei3 28672 6月 27 17:26 node_modules/
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 436 6月 27 17:25 package.json
drwxrwxr-x 2 tanpengfei3 tanpengfei3 4096 6月 27 17:25 public/
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 263 6月 27 17:25 README.md
drwxrwxr-x 6 tanpengfei3 tanpengfei3 4096 6月 27 17:25 src/
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 321757 6月 27 17:25 yarn.lock
node_modules通常不提交git,其他的文件都可以提交
public 存放公共资源,比如图片
src 源代码
package.json 项目依赖的文件
yarn.lock 文件备份
README.md 说明文档
babel.config.js 之前安装的babel ES转码器配置
package.json文件
{
"name": "vue2",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"dependencies": {
"core-js": "^3.6.5",
"vue": "^2.6.11",
"vue-router": "^3.2.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.4.0",
"@vue/cli-plugin-router": "~4.4.0",
"@vue/cli-service": "~4.4.0",
"vue-template-compiler": "^2.6.11"
}
}
serve 启动命令
build 编辑打包
依赖的vue版本是2.6,vue-router版本是3.2
$ ll src/
total 32
drwxrwxr-x 6 tanpengfei3 tanpengfei3 4096 6月 27 17:25 ./
drwxrwxr-x 6 tanpengfei3 tanpengfei3 4096 6月 27 17:25 ../
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 526 6月 27 17:25 App.vue
drwxrwxr-x 2 tanpengfei3 tanpengfei3 4096 6月 27 17:25 assets/
drwxrwxr-x 2 tanpengfei3 tanpengfei3 4096 6月 27 17:25 components/
-rw-rw-r-- 1 tanpengfei3 tanpengfei3 175 6月 27 17:25 main.js
drwxrwxr-x 2 tanpengfei3 tanpengfei3 4096 6月 27 17:25 router/
drwxrwxr-x 2 tanpengfei3 tanpengfei3 4096 6月 27 17:25 views/
main.js 是项目入口文件
App.vue 是一个组件,项目入口的组件,以大写字母开头,后缀.vue
router 路由
assets 静态资源,CSS / 字体 / 图片
views 展示的组件视图
components 组件,这里面放的是可以作为其他.vue后缀文件中组件使用的组件。模板中components放的是HelloWorld.vue,views/Home.vue中的使用
<template>
<div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template> <script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue' export default {
name: 'Home',
components: {
HelloWorld
}
}
</script>
通过一个<HelloWorld/>标签来使用
vue项目本质上是一个Node.js项目,不同于其他的web项目根目录看到index.html,main.html之类的主页,这类项目的主页是main.js。
本质上他们都一样,都是html dom + js +css的组合文件,不同的是,之前的web项目更像是在html中引入了js和css,而node.js则是在js文件中引入了html dom,并通过js实现了一个轻量的事件驱动请求/响应服务器。这个服务器的存在,让node.js项目与之前的web+额外的服务器的方式有了很大的区别,这使得js的地位大增。实际上Js是一种语言,可以写各种软件,甚至是数据库,而html dom只是一种标识,无疑Js的功能要强大的多,以此为主导并无不妥。
main.js文件中引入了路由,初始化了Vue对象,引入了其他组件,成为了项目的入口。
vue-cli4脚手架搭建一的更多相关文章
- 使用Vue CLI脚手架搭建vue项目
本次是使用@vue/cli 3.11.0版本搭建的vue项目 1. 首先确保自己的电脑上的Node.js的版本是8.9版本或者以上 2. 全局安装vue/cli npm install @vue/cl ...
- 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)
1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...
- vue+webpack4 脚手架搭建
1, vue 中 h => h(App) 的含义: //render: h => h(App) 是下面内容的缩写: render: function (createElement) { r ...
- 13. Vue CLI脚手架
一. Vue CLI 介绍 1. 什么是Vue CLI? Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.Vue CLI 致力于将 Vue 生态中的工具基础标准化.它确保了各种构建工 ...
- 让vue-cli脚手架搭建的项目可以处理vue文件中postcss语法
图中&属于postcss的语法,这样书写样式可以清楚的看出选择器之前的层级关系,非常好用. 在利用vue-cli脚手架搭建的项目中如果不配置是不支持这种写法的,这样写不会报错,但是样式不生效. ...
- 用vue-cli脚手架搭建一个仿网易云音乐的全家桶vue项目
一,vue-cli环境搭建 1,全局安装webpack npm install webpack -g 2,安装vue脚手架 npm install vue-cli -g 3,新建一个新的project ...
- vue脚手架搭建流程
搭建vue项目之前你需要安装vue的脚手架和node.js,一起去看看怎么搭建一个vue环境吧.(学编程语言最爱看见的就是用这个先写一个helloworld,只想说我对世界友好可是现实是残酷的.... ...
- 从0开始搭建vue+webpack脚手架(三)
在从0开始搭建vue+webpack脚手架(二)中已经基本完成了开发环境的配置.当开发完成后,我们需要将完成的项目进行打包,接下来对打包做一些优化: 运行 $ npm run build 可生成dis ...
- 从0开始搭建vue+webpack脚手架(二)
接着从0开始搭建vue+webpack脚手架(一) 三.配置webpack-dev-server 1. webpack-dev-server自带一个node的服务器, 项目在服务端运行的同时可以实现热 ...
- 脚手架搭建vue框架
一. node安装 1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v (检查一下 版本): 2)如果 执行结果显示: xx 不是内部命令,说明你还没有安装node , ...
随机推荐
- IP数据报中如果不分片,分片标志值是什么?
过了好久才解决这个简单的问题,罪过罪过- 答案:如果IP数据报不分片,分片标志DF(Don't Fragment)会被设置为1.分片标志MF(More Fragment)设置为0. 下面是详细解释: ...
- Ubuntu 安装 mysql 报错 "update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在"
解决方法: sudo cp /etc/mysql/my.cnf /etc/mysql/mysql.cnf 偷梁换柱-! 如果想更新mysql的源方法如下: wget http://dev.mysql. ...
- Jmeter接口数据流测试及持续集成部署:(一)Jmeter环境搭建:安装JDK、安装Jmeter、安装Fiddler、安装ant
Jmeter环境搭建 1.安装JDK 官方下载地址:https://www.oracle.com/java/technologies/downloads/ 安装方法:双击jdk安装包,一直下一步安装即 ...
- crond 任务调度
crontab 进行定时任务的设置 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: 系统工作:有些重要的工作必须周而复始地执行.如病毒扫描等 个别用户工作:个别用户可能希望执行某 ...
- R数据分析:二分类因变量的混合效应,多水平logistics模型介绍
今天给大家写广义混合效应模型Generalised Linear Random Intercept Model的第一部分 ,混合效应logistics回归模型,这个和线性混合效应模型一样也有好几个叫法 ...
- 躺平吧,平铺的窗口「GitHub 热点速览 v.21.47」
作者:HelloGitHub-小鱼干 用 macOS 系统经常会遇到的一个问题便是多开窗口如何快速找寻的问题,本周特推项目 yabai 便是来解决这个问题的.直接把所有窗口平铺,是不是很"正 ...
- [hdu7062]A Simple Problem
称序列$\{a_{1},a_{2},...,a_{n}\}$的答案为$\min_{0\le i\le n-k}(\max_{i<j\le i+k}a_{j})$(特别的,若$n<k$ ...
- html+css第六篇-定位
relative相对定位/定位偏移量 position:relative; 相对定位 a.不影响元素本身的特性: b.不使元素脱离文档流: c.如果没有定位偏移量,对元素本身没有任何影响: 定位元素位 ...
- Spring扩展点-v5.3.9
Spring 扩展点 **本人博客网站 **IT小神 www.itxiaoshen.com 官网地址****:https://spring.io/projects/spring-framework T ...
- x86汇编反编译到c语言之——(1)表达式求值及赋值语句
一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...