使用Vue-cli 3.0搭建Vue项目

1、vue create 搭建新项目

(1)新建项目:

*官方提示:如果你在 Windows 上通过 minTTY 使用 Git Bash,交互提示符并不工作,必须通过winpty vue.cmd create hello-world启动这个命令

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

具体操作如下:

首先,会提示你选择一个preset(预设):

① 除最后两个,其他选项都是你此前保存的预设配置(如下图第一个“ my-default”是我之前保存的预设配置,如今便可以直接用了):

image

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

② default(babel,eslint):默认设置(直接enter)非常适合快速创建一个新项目的原型,没有带任何辅助功能的 npm包

③ Manually select features:自定义配置(按方向键 ↓)是我们所需要的面向生产的项目,提供可选功能的 npm 包

image

手动选择需要添加的配置项:

Check the features needed for your project: (Press to select, to toggle all, to invert selection)

( ) 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)

( ) Linter / Formatter // 代码风格检查和格式化(如:ESlint)

( ) Unit Testing // 单元测试(unit tests)

( ) E2E Testing // e2e(end to end) 测试

选择完后直接enter,然后会提示你选择对应功能的具体工具包,选择自己擅长或者使用广泛的(方便遇到问题时百度),简介如下:

①是否使用history router:

image

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

② css预处理器

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

image

③ ESLint:

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

image

④ 何时检测:

image

⑤ 单元测试 :

? Pick a unit testing solution: (Use arrow keys)

Mocha + Chai //mocha灵活,只提供简单的测试结构,如果需要其他功能需要添加其他库/插件完成。必须在全局环境中安装

Jest//安装配置简单,容易上手。内置Istanbul,可以查看到测试覆盖率,相较于Mocha:配置简洁、测试代码简洁、易于和babel集成、内置丰富的expect

⑥ 如何存放配置 :

image

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

image

⑧ 搭建完成:

image

根据需要在根目录下新建 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-cli 3.0搭建Vue项目)