初识Vue Loader 笔记

1. 是什么

是一个 webpack 的 loader

2. 安装

方法两种:

  • vue-cli 直接创建
  • 手动创建
    1、初始化webpack
    2、安装vue
    注意:每个 vue 包的新版本发布时,一个相应版本的 vue-template-compiler 也会随之发布。编译器的版本必须和基本的 vue 包保持同步,这样 vue-loader 就会生成兼容运行时的代码。这意味着你每次升级项目中的 vue 包时,也应该匹配升级 vue-template-compiler。
    (1)、安装插件
yarn add vue
yarn add vue-loader vue-template-compiler -D

(2)配置webpack.config.js 文件

const VueLoaderPlugin = require('vue-loader/lib/plugin')

module.exports = {
  module: {
    rules: [
      // ... 其它规则
      {
        test: /\.vue$/,
        loader: 'vue-loader'
      }
    ]
  },
  plugins: [
    // 请确保引入这个插件!
    new VueLoaderPlugin()
  ]
}

(3)可以同时安装 babel-loader、 css-loader 等资源管理插件,保证对js,css,less等类型文件的处理。参考:

3. 预处理器的使用

(1)ts引入
babel 、typescript

yarn add babel-loader  ts-loader typescript -D
// webpack.*.js 添加
resolve: {
        extensions: ['.js', '.ts', '.tsx', '.vue'],
 },

module: {
        rules: [
           {
                test: /\.([jt])s(x?)$/,
                use: [{
                    loader: 'babel-loader',
                },
                    {
                        loader: 'ts-loader',
                        options: {
                            appendTsSuffixTo: [/\.vue$/],
                            transpileOnly: true,
                            onlyCompileBundledFiles: true,
                       },
                   },
               ],
               exclude: /node_modules/,
           },
]}

(2)样式
less、css

yarn add css-loader less less-loader style-loader less-plugin-functions -D
module: {
    rules: [{
        test: /\.less|.css$/,
        use: [
            'vue-style-loader',
            {
                loader: 'style-loader',
            },
            {
                loader: 'css-loader', // translates CSS into CommonJS
            },
                    {
                        loader: 'less-loader', // compiles Less to CSS
                        options: {
                            // modifyVars, //  chang
                            javascriptEnabled: true,
                            plugins: [
                                new LessFunction(),
                            ],
                        },
                    },
        ],
    }]
}

等等。。。见官网或者各个第三方的官网吧

4. Scoped CSS

1、规则:只作用本文件的样式,不包含内部封装的子组件,但是能作用子组件的根元素。
2、深度作用选择器(能够作用到子组件): >>>。
像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 或 ::v-deep 操作符取而代之——两者都是 >>> 的别名,同样可以正常工作。
3、通过 v-html 创建的 DOM 内容不受 scoped 样式影响,但是你仍然可以通过深度作用选择器来为他们设置样式。
4、注意: 尽量不要作用标签样式;在递归组件中小心使用后代选择器!

5.热重载

组件的所有实例将在不刷新页面的情况下被替换

6. 函数式组件

。。。后面的见官网

3. 教程中出现的第三方框架插件

1、<style> 的部分使用 Sass
2、在 <template> 的部分使用 Pug

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 3,018评论 1 4
  • 首先,你如果想要配置.vue文件的组件的话,一定要提前安装好vue配置哦~~ 好的,话不多说,开始配置: 配置.v...
    一念天堂_5e04阅读 1,712评论 0 1
  • vue-loader 查看文档[https://vue-loader.vuejs.org/zh/#vue-load...
    李霖弢阅读 7,380评论 0 0
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 3,292评论 1 22
  • 《时间管理》47.48.讲:幸福和成功是两回事。成功不一定幸福,但幸福一定是成功的。我们要做快乐的事,因为快乐才能...
    ZY_f72c阅读 125评论 0 0