zoukankan      html  css  js  c++  java
  • Webpack常用模块加载器Loader

    css-loader 和 style-loader

    css-loader解析相应的css文件中@importurl()函数的依赖关系, 将依赖进行require, 这些依赖依然被相应的模块加载器处理后, 再由file-loader处理, 最后将资源的dist路径返回给css-loader进行替换.
    style-loader将css-loader处理过的css内容使用JavaScript代码注射进HTML文档, 这样做是比较方便, 但是遇到数量比较多的css内容时, 通常需要使用插件将所有的css解构出来合并为一个单独的css文件.

    css-loader还实现了CSS Modules模块化CSS, 配合React等框架, 实现模块化组件开发.

    常用模块规则:

    { test: /.css$/, use: ['style-loader', 'css-loader?modules'] }, // 处理顺序是反向的
    

    file-loader

    file-loadre将文件复制到dist目录下, 导出相对于上下文context的相对路径.
    常用模块规则:

    { test: /.(html|png|jpg|ico)$/, use: 'file-loader?context=src&name=[path][name].[ext]' },
    

    raw-loader

    有时我们需要将字符串放到一个单独的文件中, 并在需要时将文件文本内容作为字符串导入.
    这在异步导入时也很有用.

    // 异步加载当前文件的文本内容
    import('!raw-loader!.').then(({ default: text }) => { // 当前文件使用ES6模块规范, 需要获取默认导出
          this.setState({ code: text });
    });
    

    babel-loader

    babel-loader是React开发必备的加载器, 因为React通常会使用JSX在js文件中编写组件, 而Babel提供了JSX编译功能, 需要使用babel-loader将js文件交给Babel编译后再导入.
    安装Babel及其加载器:

    npm i -S @babel/core @babel/preset-env @babel/preset-react babel-loader
    

    常用模块规则:

    { test: /.js$/, exclude: /node_modules/, loader: 'babel-loader?presets[]=@babel/env&presets[]=@babel/react' },
    
  • 相关阅读:
    win10系统设置指定程序开机自启
    PyCharm 2020.1 x64 专业版破解【亲测有效】
    xampp_mysql数据库root登录报错1045-Access denied for user 'root'@'localhost' (using password:YES)
    关于 Tomcat 启动时,解决控制台输出日志乱码问题的方案
    1.css选择器
    5.canvas
    4.音频与视频
    3.form表单
    淘宝店铺设计
    2.html5新布局元素
  • 原文地址:https://www.cnblogs.com/develon/p/13691384.html
Copyright © 2011-2022 走看看