vue-cli3搭建项目详解

一、nodejs安装和淘宝镜像安装

下载网站:https://nodejs.org/en/ (一路next即可)

查看node 版本

node -v

永久使用淘宝镜像命令:

npm config set registry https://registry.npm.taobao.org

二、vue-devtools 安装及使用

vue-devtools是一款基于chrome浏览器的插件,用于调试vue应用,这可以极大地提高我们的调试效率。接下来我们就介绍一下vue-devtools的安装。

(1)chrome商店直接安装

vue-devtools可以从chrome商店直接下载安装

(2)手动安装

① 找到vue-devtools的github项目,并将其clone到本地. vue-devtools
git clone https://github.com/vuejs/vue-devtools.git
② 安装项目所需要的npm包
npm install
③ 编译项目文件
npm run build
④ 添加至chrome浏览器

浏览器输入地址"chrome://extensions/"进入扩展程序页面,点击"加载已解压的扩展程序..."按钮,选择vue-devtools>shells下的chrome文件夹。

如果看不见“加载已解压的扩展程序...”按钮,则需要勾选“开发者模式”。

三、vue-cli 安装及使用

(1) 安装vue-cli

npm install @vue/cli -g

(2) 创建一个项目

vue create ` `//文件名 不支持驼峰(含大写字母)

具体操作如下:

1.选择一个preset(预设)

① 除最后两个选项,其他选项都是你之前保存的预设配置(如下图第一个 " my-default " 是之前保存的预设配置,现在就可以直接用了)

预设配置

② 如果没有配置保存过,则只有以下两个选项:

default(babel,eslint):默认设置(直接enter)适合快速创建一个新项目的原型,没有带任何辅助功能的 npm包
Manually select features:自定义配置(按方向键 ↓)是我们所需要的面向生产的项目,提供可选功能的 npm 包

没有配置保存过

2.自定义配置需要选择你需要的配置项

添加配置

? Check the features needed for your project: 
>( ) Babel //转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。
( ) TypeScript// TypeScript是一个JavaScript(后缀.js)的超集(后缀.ts)包含并扩展了 JavaScript 的语法,需要被编译输出为 JavaScript在浏览器运行,目前较少人再用
( ) Progressive Web App (PWA) Support// 渐进式Web应用程序
( ) Router // vue-router(vue路由)
( ) Vuex // vuex(vue的状态管理模式)
( ) CSS Pre-processors // CSS 预处理器(如:less、sass、stylus)
( ) Linter / Formatter // 代码风格检查和格式化(如:ESlint)
( ) Unit Testing // 单元测试(unit tests)
( ) E2E Testing // e2e(end to end) 测试
3. 选择对应功能的具体工具包

① 是否使用history router

Vue-Router 利用了浏览器自身的hash 模式和 history 模式的特性来实现前端路由(通过调用浏览器提供的接口)

是否使用历史模板

② css预处理器

主要为css解决浏览器兼容、简化CSS代码 等问题

css预处理器

③ ESLint:

提供一个插件化的javascript代码检测工具,ESLint + Prettier //使用较多

ESLint

④ 何时检测:在保存或提交时 进行link检查

保存时修改或校验

单元测试

? Pick a unit testing solution: (Use arrow keys)
  Mocha + Chai   //mocha灵活,只提供简单的测试结构,如果需要其他功能需要添加其他库/插件完成。必须在全局环境中安装
 > Jest   //安装配置简单,容易上手。内置Istanbul,可以查看到测试覆盖率,相较于Mocha:配置简洁、测试代码简洁、易于和babel集成、内置丰富的expect 

⑤ 如何存放配置 :

如何存放配置

⑥ 是否保存本次配置(y:记录本次配置,然后需要你起个名; n:不记录本次配置)

是否保存本次配置

⑦ 搭建完成:按照提示启动项目

搭建完成

(3) 可视化项目

vue ui

可视化项目

四、目录结构

目录结构


|-- src             // 源码目录

|  |-- components   // vue公共组件

|  |-- router       // vue的路由管理

|  |-- App.vue      // 页面入口文件

|  |-- main.js      // 程序入口文件,加载各种公共组件

|-- public          // 静态文件,比如一些图片,json数据等

|  |-- favicon.ico   // 图标文件

|  |-- index.html   // 入口页面

|-- vue.config.js    // 是一个可选的配置文件,包含了大部分的vue项目配置

|-- .babelrc        // ES6语法编译配置

|-- .editorconfig   // 定义代码格式

|-- .gitignore      // git上传需要忽略的文件格式

|-- .postcsssrc     // postcss配置文件

|-- README.md       // 项目说明

|-- package.json    // 项目基本信息,包依赖信息等

根据需要在根目录下新建 vue.config.js自行配置,eg:(简单配置,更多配置详情参见官网:https://cli.vuejs.org/zh/config/

module.exports = {
  baseUrl: '/',// 部署应用时的根路径(默认'/'),也可用相对路径(存在使用限制)
  outputDir: 'dist',// 运行时生成的生产环境构建文件的目录(默认''dist'',构建之前会被清除)
  assetsDir: '',//放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认'')
  indexPath: 'index.html',//指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径。
  pages: {//pages 里配置的路径和文件名在你的文档目录必须存在 否则启动服务会报错
    index: {//除了 entry 之外都是可选的
      entry: 'src/index/main.js',// page 的入口,每个“page”应该有一个对应的 JavaScript 入口文件
      template: 'public/index.html',// 模板来源
      filename: 'index.html',// 在 dist/index.html 的输出
      title: 'Index Page',// 当使用 title 选项时,在 template 中使用:<%= htmlWebpackPlugin.options.title %>
      chunks: ['chunk-vendors', 'chunk-common', 'index'] // 在这个页面中包含的块,默认情况下会包含,提取出来的通用 chunk 和 vendor chunk
    },
    subpage: 'src/subpage/main.js'//官方解释:当使用只有入口的字符串格式时,模板会被推导为'public/subpage.html',若找不到就回退到'public/index.html',输出文件名会被推导为'subpage.html'
  },
  lintOnSave: true,// 是否在保存的时候检查
  productionSourceMap: true,// 生产环境是否生成 sourceMap 文件
  css: {
    extract: true,// 是否使用css分离插件 ExtractTextPlugin
    sourceMap: false,// 开启 CSS source maps
    loaderOptions: {},// css预设器配置项
    modules: false// 启用 CSS modules for all css / pre-processor files.
  },
  devServer: {// 环境配置
    host: 'localhost',
    port: 8080,
    https: false,
    hotOnly: false,
    open: true, //配置自动启动浏览器
    proxy: {// 配置多个代理(配置一个 proxy: 'http://localhost:4000' )
      '/api': {
        target: '',
        ws: true,
        changeOrigin: true
      },
      '/foo': {
        target: ''
      }
    }
  },
  pluginOptions: {// 第三方插件配置
    // ...
  }
};

五、vue 相关依赖的安装命令

npm install axios --save-dev //安装axios
npm install mockjs --save-dev   //安装mockjs
npm install vue-lazyload --save-dev    //安装 vue-lazyload
npm install vue-cookie --save-dev     //安装vue-cookie 
npm install element-ui --save-dev   //安装 element-ui
npm i vue-lazyload element-ui node-sass sass-loader vue-awesome-swiper vue-axios vue-cookie --save-dev  //一次安装多个依赖

参考网站

https://www.cnblogs.com/coober/p/10875647.html

你可能感兴趣的:(node.js,vue.js,vue-cli3)