1. 安装nodejs
  2. 安装vue-cli
    npm install -g vue-cli
  3. 使用vue-cli初始化项目
    vue init webpack my-project
  4. 进到目录
    cd my-project
  5. 安装依赖
    npm install
  6. 添加sass
    npm install node-sass --save-dev
    npm install sass-loader --save-dev
    打开build文件夹下webpack.base.config.js在rules里面加上
    {
        test: /\.scss$/,
        loaders: ["style", "css", "sass"]
    },
    在用scss的地方写上
    <style lang="scss" scoped="" type="text/css"></style>

  7. 全局引入sass配置文件,不必单个组件引入,安装依赖模块
    npm install sass-resources-loader --save-dev


    在项目build目录的utils.js添加如下代码:

      // =========
    // SASS 配置
    // =========
    function resolveResouce(name) {
    return path.resolve(__dirname, '../src/common/scss/' + name);
    }
    function generateSassResourceLoader() {
    var loaders = [
    cssLoader,
    // 'postcss-loader',
    'sass-loader',
    {
    loader: 'sass-resources-loader',
    options: {
    // it need a absolute path,全局sass文件名称,目录位置存放在resolveResouce函数中
    resources: [resolveResouce('var.scss'), resolveResouce('mixins.scss')]
    }
    }
    ];
    if (options.extract) {
    return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader'
    })
    } else {
    return ['vue-style-loader'].concat(loaders)
    }
    }
    // =========
    // SASS 配置 end
    // =========

    修改utils.js配置

  8. 开始运行
    npm run dev
  9. 设置代理
    找到config文件夹中的index.js,在proxyTable字段中添加如下内容,详细配置参考https://github.com/chimurai/http-proxy-middleware
  10. eslint相关配置
    添加static文件夹下js文件检查,build文件夹中webpack.base.conf.js文件修改如下:
    , resolve('static')

    默认eslint会强制不要分号,而js书写规范更好的是强制分号,根目录.eslintrc.js修改如下:
    , 'semi': ['error', 'always']
  11. 打包相关
    运行命令:npm run build

    打包时处理文件为相对路径
      方法1:找到config文件夹中的index.js,打开修改assetsPublicPath为“./”
      方法2:build文件夹中webpack.prod.conf.js 中output添加参数publicPath:'./'

    设置config文件夹index.js中productionSourceMap的值为false,也就是设置webpack配置中devtool为false,打包后文件体积可以减少百分之八十!!!!!!!

    如何实现打包文件中js、css等的版本控制?
    设置build文件夹下的webpack.prod.conf.js中HtmlWebpackPlugin插件配置参数添加hash: true,即会使打包生成的index.html中的js和css路径带有?+随机字符串

vue-cli使用笔记的更多相关文章

  1. Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目

    前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. Vue.js 组件笔记

    Vue 组件总结笔记 一. 创建组件 1. 使用组件三部曲 ( 创建, 注册, 使用 ) 2. 全局组件:Vue.component('tag', {}); 3. 局部组件: components 属 ...

  4. vue cli 3.x 项目部署到 github pages

    github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目. 最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下. ...

  5. @vue/cli 3.0 使用 svg-sprite-loader 加载本地 SVG 文件

    目录 @vue/cli 3.0 使用 svg-sprite-loader 加载本地 SVG 文件 运行 使用 配置 svg-sprite-loader 调用当前环境下的颜色 props @vue/cl ...

  6. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  7. vue cli使用融云实现聊天

    公司有个项目要实现一个聊天功能,需求如下图,略显随意 公司最终选择融云这个吊炸天的即时通信,文档详细的一匹,刚开始看文档感觉很详细实现起来也不麻烦,有很多开源的demo可以在线演示和下载 不过我们的项 ...

  8. Vue CLI 3.0脚手架如何在本地配置mock数据

    前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段. 我们在开发的过程中,由于后台接口的没有完成或 ...

  9. Vue CLI 3使用:浏览器兼容性

    package.json 文件里的 browserslist 字段 (或一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围.这个值会被 @babel/preset-env ...

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

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

随机推荐

  1. .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖

    原文:.NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖 我们有多种工具可以将程序集合并成为一个.比如 ILMerge.Mono.Merge.前者不可定制.运 ...

  2. java之mybatis之helloworld

    1. MyBatis 是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架. MyBatis几乎消除了所有的 JDBC 代码,也基本不需要手工去设置参数和获取检索结果. MyBatis几乎能够 ...

  3. ASP.NET SignalR 系列(五)之群组推送

    在上一章介绍了 一对一推送的方式,这章重点介绍下群组推送和多人推送 群组主要就是用到了方法:Groups.Add(Context.ConnectionId, groupName); 将不同的连接id加 ...

  4. QueryDSL-JPA

    QueryDSL-JPA QueryDSL简介 官网 1 QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询. 2 Querydsl可以通过一组通用的查询AP ...

  5. if __name__ == '__main__' 该如何理解

    Python 中的 if __name__ == '__main__' 该如何理解 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# ...

  6. 使用vue-cli搭建vue项目问题解决方案

    工欲善其事必先利其器,安装所需环境 node和npm的安装 首先需要安装node环境,直接到官网下载安装包 https://nodejs.org/zh-cn/ 安装node默认安装npm, 不需要重复 ...

  7. JavaScript实现网页回到顶部效果

    在浏览网页时,当我们浏览到网页底部,想要立刻回到网页顶部时,这时候一般网页会提供一个回到顶部的按钮来提升用户体验,以下代码实现了该功能 HTML代码: <p id="back-top& ...

  8. MongoDB 基本概念

    MongoDB和关系型数据库的对应关系 关系数据库 MongoDB 数据库   database 数据库   database 表格  table 集合  collection 行  row 文档  ...

  9. JS 小工具 MYSQL WHERE IN条件 去掉换行符(列转行)

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  10. MySQL MGR--MGR部署

    MGR部署 场景描述: 使用三台服务器搭建一个简单MGR集群,使用MySQL 5.7.24版本,服务器列表为: 192.168.1.147 192.168.1.148 192.168.1.149 1. ...