zoukankan      html  css  js  c++  java
  • webpack配置(vue)

    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/
                }
              ]
            }
          }
  • 相关阅读:
    亲测——pycharm下运行第一个scrapy项目 ©seven_clear
    [转]pycharm的一些快捷键
    一个豆瓣API的使用——拒绝思维定式
    小试牛刀--利用豆瓣API爬取豆瓣电影top250
    Python GUI编程--Tkinter
    多线程详解
    K8S+GitLab-自动化分布式部署ASP.NET Core(一) 部署环境
    初学者浅度剖析eShopOnContainers 里面用到的MediatR .
    通过Task异步加快对数组的运算
    为什么是容器?
  • 原文地址:https://www.cnblogs.com/yaokai729/p/11432556.html
Copyright © 2011-2022 走看看