从零使用vue-cli3+webpack4搭建项目

使用vue ui创建、管理项目

  1. 安装vue-cli 3.0
npm install -g @vue/cli
# OR
yarn global add @vue/cli

检查vue-cli版本

vue --version
  1. vue ui


    image.png

如果不是这个页面,打开UI地址
http://localhost:8000/project/select

  1. 创建项目


    image.png
  2. 预设项目
    默认配置项目只有babel和eslint两个插件,为了快速搭建项目,选择手动配置项目。如果在git仓库里已经有配置好的项目,直接选择第三个即可。


    image.png
  3. 添加功能


    image.png

    babel:JavaScript的转换工具,可以将项目中的es6/7/8等转为es5使用,避免浏览器的不兼容;
    typescript:使JavaScript趋向于强类型的一种语言,学习过java的同学应该很快就能看懂里面的语法结构;
    PWA:PWA(Progressive web apps,渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序,号称“小程序的老祖宗”,遗憾的是没火起来;
    Router:路由管理工具,vue开发的单页面应用,需要前端路由的支持;
    Vuex:状态管理工具,用来处理vue项目中的数据流,当有部分数据需要共享时,使用vuex的单向数据流能更好的管理数据;
    CSS Pre-processors:css预处理语言,项目中一般都会使用less/sass/stylus,此插件可以将预处理语言进行转换;
    Linter/Formatter:代码规范管理工具,能使团队项目中的代码风格更相似;
    Unit Testing:单元测试,有Jest和Mocha,使用Jest的可能更多,目前使用不到;
    E2E Testing:端到端测试,它用来测试一个应用从头到尾的流程是否和设计时候所想的一样。简而言之,它从一个用户的角度出发,认为整个系统都是一个黑箱,只有UI会暴露给用户;
    使用配置文件:环境配置等一些工具的使用,这个一定是要的。

  4. 配置
    选择使用的css预处理语言和eslint配置标准,下面两个按钮一个是在保存时检查,一个是在向git提交时检查。


    image.png

一整套流程下来也挺辛苦的,如果你需要将这一系列流程保存下来以便下次使用,在点击下一步后进行操作:


image.png
  1. 项目搭建成功


    image.png

    里面有一些刚刚咱们自己配置的一些东西


    image.png

项目结构目录整理

image.png

目前整体的目录结构如图:

  1. node_modules:下载的依赖包
  2. public:公共的基础文件
  3. src:项目主体部分
  • api:请求接口统一管控,当需要更改接口时能更快的找到
  • assets:项目中所需引入资源的文件,font/img/js/...
  • components:当有重复的组件时,提取出来,放在此文件夹
  • config:存放一些配置文件
  • directive:自定义指令文件
  • lib:存放一些公用的方法
  • mock:个人认为比较重要的文件,当前后端统一定义好接口时,mock可极大的提高开发效率,这也是最近讨论比较多的面向接口开发
  • router:路由文件
  • store:数据管控文件
  • views:页面文件
  • app.vue:vue入口文件
  • main.js:项目主js文件
  1. .browserslistrc:指定了项目的目标浏览器的范围。这个值会被 @babel/preset-envAutoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀
  2. .editorconfig:编辑器配置文件,需要vscode下载editorconfig for vs code插件使用
  3. .eslintrc.js:eslint配置文件
  4. .gitignore:上传到git时忽略的文件
  5. .babel.config.js:babel转义配置文件
  6. package-lock.json:锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致
  7. package.json:项目依赖的部分
  8. postcss.config.js:postcss配置项
  9. REACME.md:项目的说明书
  10. vue.config.js:项目的主要配置文件

基本配置讲解

vue-cli3的主要配置放在vue.config.js文件中

const path = require('path')

const resolve = dir => path.join(__dirname, dir)

const BASE_URL = process.env.NODE_ENV === 'production' ? '/pro/' : '/'

module.exports = {
  lintOnSave: false,
  baseUrl: BASE_URL,
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('_c', resolve('src/components'))
  },
  productionSourceMap: false, // 打包时不生成.map文件
  devServer: {
    proxy: 'http://localhost:8080'
  }
}

跨域配置

简单的跨域:

devServer: {
    proxy: 'http://localhost:8080'
  }

如果你想要更多的代理控制行为,也可以使用一个 path: options 成对的对象。完整的选项可以查阅 http-proxy-middleware

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: '<url>',
        ws: true,
        changeOrigin: true
      },
      '/foo': {
        target: '<other_url>'
      }
    }
  }
}

你的赞是我前进的动力

求赞,求评论,求转发...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341

推荐阅读更多精彩内容