Vue-loader

  Vue-loader 是一个加载器,能把 .vue 文件转换为js模块。

  Vue Loader 的配置和其它的 loader 不太一样。除了将 vue-loader 应用到所有扩展名为 .vue 的文件上之外,还需要在 webpack 配置中添加 Vue Loader 的插件

        npm install -D vue-loader vue-template-compiler

        // webpack.config.js
       const VueLoaderPlugin = require('vue-loader/lib/plugin')
       module.exports = {
         module: {
           rules: [
            {
               test: /\.vue$/,
               loader: 'vue-loader'
            }
          ]
        },
         plugins: [
           new VueLoaderPlugin()
        ]
      }

Vue Cli

  调整 webpack 配置最简单的方式就是在 vue.config.js 中的 configureWebpack 选项提供一个对象:

        // vue.config.js
       module.exports = {
         configureWebpack: {
           plugins: [
             new MyAwesomeWebpackPlugin()
          ]
        }
      }

  注意:有些 webpack 选项是基于 vue.config.js 中的值设置的,所以不能直接修改。

  如果你需要基于环境有条件地配置行为,或者想要直接修改配置,那就换成一个函数 。

        // vue.config.js
       module.exports = {
         configureWebpack: config => {
           if (process.env.NODE_ENV === 'production') {
             // 为生产环境修改配置...
          } else {
             // 为开发环境修改配置...
          }
        }
      }

  Vue CLI 内部的 webpack 配置是通过 webpack-chain 维护的。通过这个API可以定义具名的 loader 规则和具名插件,比直接修改webpack配置有更高的自由度。

sass-loader

       npm install -D sass-loader node-sass

  在webpack.config.js 中配置规则

        module.exports = {
         module: {
           rules: [
            {
               test: /\.scss$/,
               use: [
                 'vue-style-loader',
                 'css-loader',
                 'sass-loader'
              ]
            }
          ]
        },
      }

  sass-loader 会默认处理不基于缩进的 scss 语法。为了使用基于缩进的 sass 语法,你需要向这个 loader 传递选项:

        {
         test: /\.sass$/,
         use: [
           'vue-style-loader',
           'css-loader',
          {
             loader: 'sass-loader',
             options: {
               indentedSyntax: true
            }
          }
        ]
      }

  sass-loader 也支持一个 data 选项,这个选项允许你在所有被处理的文件之间共享常见的变量,而不需要显式地导入它们。

        {
         test: /\.scss$/,
         use: [
           'vue-style-loader',
           'css-loader',
          {
             loader: 'sass-loader',
             options: {
               data: `$color: red;`
            }
          }
        ]
      }

less-loader

        npm install -D less less-loader

        {
         test: /\.less$/,
         use: [
           'vue-style-loader',
           'css-loader',
           'less-loader'
        ]
      }

Stylus-loader

        npm install -D stylus stylus-loader

        {
         test: /\.styl(us)?$/,
         use: [
           'vue-style-loader',
           'css-loader',
           'stylus-loader'
        ]
      }

Babel-loader

          npm install -D babel-core babel-loader

           {
             test: /\.js$/,
             loader: 'babel-loader',
             exclude: file => (
               /node_modules/.test(file) &&
               !/\.vue\.js/.test(file)
            )
          }

  Babel 的配置可以通过 .babelrc 或 babel-loader 选项来完成。

  有一些不需要进行打包处理的文件,可以通过使用一个排除函数将它们加入白名单。

ts-loader

        npm install -D typescript ts-loader

        module.exports = {
         resolve: {
           // 将 .ts 添加为一个可解析的扩展名。
           extensions: ['.ts', '.js']
        },
         module: {
           rules: [
            {
               test: /\.ts$/,
               loader: 'ts-loader',
               options: { appendTsSuffixTo: [/\.vue$/] }
            }
          ]
        },
      }

  TypeScript 的配置可以通过 tsconfig.json 来完成。

ESLint

        npm install -D eslint eslint-loader
        module.exports = {
         module: {
           rules: [
            {
               enforce: 'pre',
               test: /\.(js|vue)$/,
               loader: 'eslint-loader',
               exclude: /node_modules/
            }
          ]
        }
      }

webpack配置(vue)的更多相关文章

  1. webpack 配置 Vue 多页应用 —— 从入门到放弃

    webpack 配置 Vue 多页应用 -- 从入门到放弃 一直以来,前端享有无需配置,一个浏览器足矣的优势,直到一大堆构建工具的出现,其中 webpack 就是其中最复杂的一个,因此出现了一个新兴职 ...

  2. 11. webpack配置Vue

    一. 在webpack中配置vue 了解了webpack的原理和用法以后, 我们来引入Vue webpack原理和用法详解链接: cnblogs.com/ITPower/p/14467745.html ...

  3. 使用webpack配置vue项目代理 (超简单)

    我们都知道,前端开发跨域是一个很常见的问题,当然跨域的方法也有很多,现在我就给大家分享一个在vue项目中如何使用webpack做代理,步骤简单,操作方便,本人亲测,巨好使

  4. webpack配置vue项目

    npm init 安装webpack,webpack-cli 新建src目录,在src目录下新建main.js

  5. webpack构建vue项目(再谈配置)

    webpack配置起来确实麻烦,这不,之前用刚配好了vue1+的版本,结果在(部分)安卓机上测试,发现存在开启热加载(dev-server)的情况下不能识别vue语法的问题,试了很多方法,都没能很好的 ...

  6. webpack构建vue项目(配置篇)

    最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出 ...

  7. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  8. vue全家桶安装以及修改webpack配置新增vue项目启动方式

    一.安装node环境(自带npm) 下载地址 二.替换下载源 // 淘宝 NPM 镜像 npm install -g cnpm --registry=https://registry.npm.taob ...

  9. 使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)

    使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development.production) --mode 指定环境模式 ...

  10. 在webpack中配置vue.js

    在webpack中配置vue.js 这里有两种在webpack中配置vue.js的方法,如下: 1.在main.js中引入vue的包: index.html: <!DOCTYPE html> ...

随机推荐

  1. 元素显示模式:块元素 & 行内元素 & 行内块元素

    元素显示模式 前言 了解元素的显示模式可以更好的让我们布局页面.了解显示模式需要学习以下三个方面 什么是元素的显示模式 元素显示模式的分类 元素显示模式的转换 什么是元素显示模式 元素显示模式就是元素 ...

  2. Code Runner,率先支持刚发布的 Visual Studio 2022!

    Visual Studio 被不少网友成为"宇宙第一IDE".但是,我写✍ PHP.Java 和 C#,也都是用的 VS Code. 我所在的组,是 Visual Studio C ...

  3. IDEA安装热部署插件JRebel

    首先说下热部署是什么意思吧,简单了说就是在我们对代码进行更改之后,不需要重启项目,重新编译一下就可以直接运行最新的代码的部署方式.既然是部署方式,项目启动部署的时候当然就会和正常情况下不一样啦~ JR ...

  4. rabbitMQ报错:Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method:

    1.输入的机器的 IP:15672进入Raabitmq的登陆管理界面 点击admin,进去点击set permission ok, 在运行应该就不会包这个错了

  5. 痞子衡嵌入式:在IAR开发环境下RT-Thread工程函数重定向失效分析

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下RT-Thread工程函数重定向失效分析. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...

  6. ES6基础知识(Generator 函数)

    1.next().throw().return() 的共同点 next().throw().return()这三个方法本质上是同一件事,可以放在一起理解.它们的作用都是让 Generator 函数恢复 ...

  7. JSON实现序列化dump和dumps方法,JSON实现反序列化loads和load方法

    通过文件操作,我们可以将字符串写入到一个本地文件.但是,如果是一个对象(例如列表.字典.元组等),就无 法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里. 设计一套协议,按照某种 ...

  8. python中jsonpath模块,解析多层嵌套的json数据

    1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, ...

  9. 搜索系统核心技术概述【1.5w字长文】

    前排提示:本文为综述性文章,梳理搜索相关技术,如寻求前沿应用可简读或略过 搜索引擎介绍 搜索引擎(Search Engine),狭义来讲是基于软件技术开发的互联网数据查询系统,用户通过搜索引擎查询所需 ...

  10. PCA方差解释比例求解与绘图?

    目录 主成分方差解释率计算 绘图示例 主成分方差解释率计算 通常,求得了PCA降维后的特征值,我们就可以绘图,但各个维度的方差解释率没有得到,就无法获得PC坐标的百分比. 有些工具的结果是提供了维度标 ...