zoukankan      html  css  js  c++  java
  • webpack入门教程之初识loader(二)

      上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件。

      要想让网页看起来绚丽多彩,那么css就是必不可少的一份子。如果想要在应用中增加一个css文件,那么webpack能不能处理呢?答案当然是可以。但是由于webpack只能本地处理JavaScript,因此我们需要css-loader来处理css文件,我们还需要style-loader在css文件中应用样式。

      ps:css-loader会遍历css文件,找到url()表达式然后进行处理。style-loader会把原来的css代码插入到页面中的一个style标签中。

      接下来,我们就来看一看如何使用css-loader和style-loader。

    一、安装css-loader和style-loader

    npm install css-loader style-loader

    ps:需要本地安装,即安装到执行命令所在文件夹,因此不能带上-g。安装成功后,将会创建包含css-loader和style-loader的node_modules文件夹。

    二、使用案例(依赖于第一节中的文件)

    1. 新建style.css文件。

    body {
        background: yellow;
    }

    2. 更新entry.js。

    + require("!style!css!./style.css");
      document.write(require("./content.js"));

    4.重新编译然后刷新浏览器,将会看到页面增加了黄色背景。
    ps:在经过loader加载器的处理之后,会将原文件转换成为一个JavaScript module。

    5.如果不想写这么长的require("!style!css!./style.css"),我们可以为loader绑定文件扩展。成功后,就可以使用require("./style.css")来引用css文件。
      首先我们更新entry.js。

      + require("./style.css");
      document.write(require("./content.js"));

    接下来执行命令

    webpack ./entry.js bundle.js --module-bind 'css=style!css'

    执行成功后,会看到同样的结果(部分环境需要使用双引号,若执行失败,可尝试将单引号替换成双引号)。

    三、应用配置文件

    1. 在命令后追加参数的方式显然过于麻烦,所以我们可以把配置都写到config文件中。创建webpack.config.js文件。

      module.exports = {
        entry: "./entry.js",
        output: {
            path: __dirname,
            filename: "bundle.js"
        },
        module: {
            loaders: [
                { test: /.css$/, loader: "style!css" }
            ]
        }
      };

    现在我们只需要执行webpack命令。执行后,webpack会尝试去在当前目录下查找webpack.config.js文件,并根据文件内容进行具体处理。

    四、 美化命令行输出

    编译可能会随着项目的增长而花费很长的时间。所以我们想要去查看编译的进度,或者给命令行增加一些颜色。
    可以使用这个命令

    webpack --progress --colors

    五、监视模式

    我们不想每次改变文件内容之后都去手动编译,可以使用

    webpack --progress --colors --watch

    webpack在编译中会缓存未改变的modules和输出文件。
    在使用监视模式时,webpack会将文件监视器安装到编译过程中使用的所有文件。一旦检测到了任何改变,就会自动进行编译。当开启缓存时,webpack会将每个module保持在内存中,
    对于没有改变的module进行重用。

    六、开发服务器

    开发服务器有利于提高本地开发的效率。
    首先安装modules:

    npm install webpack-dev-server -g

    然后执行命令:

    webpack-dev-server --progress --colors

    执行完成后,将会在本地的8080端口上绑定一个很小的express服务。当bundle.js编译完成后,它将会自动更新浏览器页面,可以尝试使用浏览器打开
    http://localhost:8080/webpack-dev-server/bundle查看执行结果。
    ps:开发服务器使用webpack的监视模式,它还防止webpack将生成的文件发送到磁盘。相反,它保留并提供从内存生成的文件。

    七、小结

    到此为止,webpack的入门教程就算了告一段落了,接下来会带来进阶教程,敬请期待。 

    欢迎交流,QQ: 997494167
  • 相关阅读:
    C语言实现二叉堆BuildHeap操作
    Java大浮点数
    线索二叉树
    二叉树的层次遍历
    CS231n Lecture3-Loss Functions and Optimization学习笔记
    Python函数式编程(高阶函数、map/reduce、filter、sorted、匿名函数、返回函数)-3
    CS231n Lecture2-Image Classification学习笔记
    Python高级特性(生成器、迭代器、列表生成式)-2
    Python函数(定义、参数、递归)-1
    Numpy中的广播(Broadcast)讲解简单易懂,困扰已久,终于想通了
  • 原文地址:https://www.cnblogs.com/olivers/p/6073506.html
Copyright © 2011-2022 走看看